태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


기업과 시스템에 대한 보안이라는 것은 철학이 있어야 된다.
남들 하는 만큼만 한다는 자세는 비난을 피할 수는 있어도 절대 최선은 될 수 없다.
남과 다른 시도를 하는 것은 또한 최선은 될 수 있으나 시기어린 시선과 과도하다는 비난으로 부터 자유롭지 않다. 

경계선을 지킨 다는 것은 어렵다. 그러나 지금의 공격자들은 방어하는 입장에서 건들지 말았으면 하는 선들을 너무나도 잘안다. 계속 당 할 수 밖에 없는 이유기도 하다.

시스템과 조직이라는 것은 정문만 있는 것이 아니다. 지켜야 할 모든 것들은 원형을 이루고 있다. 즉 단방향의 통로만 존재하는 것이 아니라 아무리 최소화 하고 극소화 한다 하여도 한계를 가지게 마련이다.  

현대캐피탈의 해킹 사고를 보면서 오랜기간 침해사고를 맡았고 한 기업에서 5년 이상을 핵심적으로 역량을 기울인 부분이여서 안타까움과 함께 현재의 문제에 대해서 지적을 안 할 수가 없다. 

정문에만 4~5겹의 통로와 감시병을 세우면 뭐하는가? 창문은? 뒷문은?.. 그외 모든 통로들은?.. 성이 있어도 지금은 공중으로 날아 오는 판국이다. 이 상황에서 주변도 돌아보지 못하는 현 상황은 개탄스럽다.



기업의 보안성을 보자면 여러가지 분야가 있지만 기술적인 분야만 한정 하자면 다음과 같은 부분들을 보아야 한다.

네트워크 :

기업망의 네트워크가 충분히 세분화 되어 있고 각 단계에서 중요도가 선별이 되어 각각에 대한 제어가 되고 있는지가 중요하다. 내부 (특히 사설 IP를 쓴다고 안전하다는건 심각한 상황이다.) 망에서도 중요도 별로 선별이 되어야 하고 중요도에 따라 접근 영역도 달라야 한다. 특히 웹 서버의 경우에는 DB와 연결 되는 경우가 대부분인데 이 부분에 대해서도 구분과 대책이 필요하다고 할 수 있다. 실험 해보고 적용 해 본 것들은 여러가지 사례가 있지만 DB와 연결 지점, 연결 프로그램에 대한 제어와 모니터링이 가장 효과적인 방안으로 보고 있다.

그러면 국내에 대다수 기업들은 이렇게 하고 있을까?.. 많은 기업들은 하고 있지만 실효적인 유효성 보다는 정책과 연계된 형식적 프로세스 형태로 운용 하고 있을 가능성이 매우 높다. 즉 새는 구멍들은 계속 생길 수 있다는 것이다.


시스템:
 

공격자의 최종 목표는 결국에는 시스템에 대한 제어권한 획득이 목적이다. 이 목적을 위해 어플리케이션을 공격하고 네트워크망을 이용해 중요 시스템까지 접근 할 수 있도록 루트개척을 한다. ( 어차피 이 분야도 등산과 같다. 목적지에 도달하기 위해 거쳐야 하는 여러 포인트를 거칠 뿐인것이다. ) 목표가 되는 시스템은 항상 그렇듯이 회원관련된 정보나 현금화가 가능한 모든 것들이 포함된다. ( 소스코드 및 산업기밀 등도 모두 해당된다.)

이런 중요 시스템들은 대부분 내부의 보호되는 영역들에 존재한다고 믿고 있다. 그러나 이 보호되는 영역이 깨지는 것은 지금은 단순히 웹을 공격 함으로써도 가능하다. 일반적인 경로를 살펴보면  동일 네트워크나 같은 영역에 있을 것으로 예상되는 웹서버들에 대한 공격 -> 취약한 웹과 연결된 일부 DB 서버에 대한 권한 획득 -> 백도어 설치 -> 내부망 스캔 -> 내부망에서의 권한 획득 확대 -> 목표 달성 -> 외부로 부터 연결 가능하거나 명령 제어가 가능한 채널 설치 ..

위와 같이 볼 수 있다.  특별히 벗어나지도 않는다. 이 과정에서 중요한 것은 여러 포인트들에 대한 체계적인 관리와 집중적인 노력이 필요한 부분이 있다. 대부분의 보안 전문가나 관리자들은 개별 포인트에 집중하기도 한다. 종합적으로 보기가 어렵고 여건상 어려운 부분이 존재하기 때문이다. 이 부분은 보안전문가들이 결정권을 가지지 못하기에 발생 되기도 한다.

외부에 직접 노출된 시스템들은 보안성이 항상 높은 수준을 유지 하도록 강요된다. 그러나 내부에 있는 시스템들은 대부분의 사람들이 인지하듯이 외부 인터넷망과 분리 되어 있기 때문에 안전하다는 이유로 방치 되다시피 하고 있는것이 현실이다. 

공격자가 하나의 경로를 확보하게 되면 내부망을 휘젓는 것은 일도 아니다. 패치 안 된 다수의 시스템들.. 기본적인 보안 검사 없이 노출된 많은 어플리케이션들.. 포트 통제도 되지 않는 서비스들은 무지막지한 공격의 대상이 될 뿐이다. 더 문제가 되는 것은 내부망에서 발생되는 공격들을 탐지할 어떠한 것들도 가지고 있지 않다는 점이다. 대부분의 보호 도구들은 밖을 향해 있다. 내부에서 발생되는 공격들은 범위 밖인 것이다.

인지가 가능한 경우는 단지 서비스의 장애나 시스템의 리붓등이 발생 될 때에나 수동적으로 발견 할 뿐이다. 그렇지 않을 경우 발견 하기란 하늘의 별 따기이다.

언제 일어날 지 모를 내부에서의 사고를 위해 막대한 비용을 들여 기존의 보호 장치를 적용 할 수 있는 곳들은 많지 않다. DB에 대한 보호 조치나 암호화도 정답이 될 수 없는 것이 암호화를 푸는 모듈이 장착된 웹서비스나 어플을 공격 할 경우 암호화는 의미가 없어진다. 

시스템에 대한 최종 보호도구나 기본적인 감시 도구의 필요성은 이래서 필요하다. 폐쇄망에서의 치명적인 침해사고를 염려 하는 점도 위와 같은 이유에서다. 언젠가는 ( 곧) 발생 되겠지만 말이다.


어플리케이션:

가장 논란이 되는 부분이 어플리케이션이다. 기존의 많은 보호도구들이 네트워크나 시스템에 집중 되었다면 2005년을 기점으로  어플리케이션에 대한 공격이 전 세계에서 발생 되는 주요 공격의 대부분을 차지 하고 있다. 웜이나 바이러스를 통해 유출 되는 정보의 비율보다 어플리케이션 공격을 통해 자료를 유출하거나 전용하는 비율은 엄청난 차이를 보이고 있다. 기업망에서 중요하게 바라 보아야 하는 것은 지켜야 할 것이 무엇이고 연결된 것은 무엇이며 어떤 방식으로 안전성을 유지하며 단계적으로 해결을 하느냐는 점이다.

기업내에서도 많은 어플리케이션들이 개발되고 편리를 위해 운용이 된다.
그 접근의 편리함은 공격자에게도 동일하게 적용이 된다. 공격의 편리성도 똑같다는 의미이다.

외부에 노출된 많은 웹 애플리케이션들은 현재도 감당하기 힘든 공격들에 직면한 상태이고 매번 새롭게 개편이 되고 갱신이 될때마다 새로운 문제들에 노출이 된다. 근본적으로는 개발자에 대한 Secure coding이 습관화되고 고착 되어야 하지만 이 길은 너무나도 먼 길이다. 

개발 프로세스보다 더 긴 보안 점검 일정은 인내심의 한계를 촉발하고 대부분 개발자들에게 주어진 제한된 빠른 일정을 벗어나게 만든다. 또한 작은 페이지 하나 정도 추가 하는 것에도 1시간도 안걸리는 작업에 보안 점검이 하루 이상이 소요 된다면 모든 것은 문제가 될 수 밖에 없다.

개발자에 대한 교육을 하기 위해 Secure programming guide를 한다는 점도 좋은 시도이다. 그러나 방향성은 맞지만 현재 전 세계적인 방법론은 틀렸다고 본다. 일반 C/S 프로그래밍과 일정이 긴 소프트웨어 개발에는 맞는 방향일 수 있으나 현재 문제가 되고 있는 Web 어플리케이션에 대한 방향성과는 전혀 맞지가 않는다.

개발자가 구현 할 수 있는 창의성에 대한 제한, 또 교육과 습득에 까지 이르는 수많은 시간, 모든 것은 개인의 역량에 달린 문제여서 이직 할 경우는 처음부터 원점에서 다시 시작해야 하는점 등등.

소스코드를 점검 하기 위해서는 엄청난 출혈을 감내 해야만 한다. 비용과 인력, 시간등에 있어서 비용 대비 효과는 기대하기 어려운 부분이다. 그래도 방법이 없으니 쓸 수 밖에 없다.

많은 기업과 조직들이 이 문제 해결을 위해 웹 보안 도구를 사용 하고 있으나 우회 공격에 취약하며 또한 새로운 유형의 공격에 취약 할 수 밖에 없다. 또한 변화되는 네트웍 환경에 따른 오탐과 장애의 문제는 실질적인 문제이다.

개발자들이 손쉽게 문제가 되는 부분을 Live한 상황에서 실시간 점검을 하고 문제점을 해결 할 수 있다면 비용, 시간, 인력의 문제를 해결 할 수 있을텐데 아직 세계적으로 그런 서비스는 출현하지 않고 있다. 여러 구현의 어려움과 한계 때문에 출현이 없으나 웹 어플리케이션에 대한 Secure한 상태의 유지는 지금 당장 당면한 과제 이므로 반드시 되어야만 할 것이다. 

현재 미국에서는 소스코드 보안성을 강화하는 방향의 회사 제품을 국방부 차원에서 도입하여 적용하고 테스트를 하고 있다. 방안이 없기에 이럴 수 밖에 없다. 그러나 비용 대비 효과는 미미할 것으로 예상이 된다. 발전도 제한이 될 것이고 말이다.

이 문제를 해결 하기 위한 서비스를 준비 중에 있다. 곧 보실 수 있을 것이다. 완벽한 보안이 아닌 기본적인 보안 수준은 유지 할 수 있도록 하여 대규모 공격이나 일반적인 공격도구에는 당하지 않는 상태로 만들고 개발자들의 실시간 검사를 통해 기존 도구들이 가지는 한계를 한번에 넘길 수 있는 패러다임이라 할 수 있다.

현재 발생된 문제도 이 패러다임에서 벗어나지 못한다. 모든 애플리케이션에 대한 보안성 강화와 문제 해결을 할 수 없기에 주요 서비스에만 보안성을 강화하고 노력을 하였지만 문제는 모든 것은 이어져 있고 동일 대역 혹은 접근 가능 대역에 중요하지 않은 서비스들도 위치하고 있다는 점이다. 기사로만 유추해 보면 현대캐피탈의 문제도 여기에서 부터 비롯된 것이다.


정책:

정책적인 문제는 기술적 보안을 실행 하고 운영하기 위한 프로세스적인 정책을 의미한다. 일반적인 감시와 모니터링,통제를 위한 정책 부분은 지금의 상황 설명에는 문제가 있기에 연관성이 떨어진다고 할 수 있다. 정책적으로 모든 부분에 대해 문제가 없고 절차를 다 지켰다고 하여도 .. 관리가 덜 되고 있는 주변 서비스에 대한 집중 공격으로 진입점이 생긴 것에 대해서는 정책적으로 통제 한다는 것은 범위를 벗어난 이야기이다.

내부자에 대한 통제와 모니터링, 프로세스 체계에 관점을 가지고 있는 부분과는 현재 문제는 조금 다른 관점의 이야기라 할 수 있다. 여기에서 말하는 정책은 기술적 보안을 하기 위한 정책적 지원 관점에서 논의를 하는 것이며 그 관점에서 보게 되면 기존의 기술적 보안 방향에서는 전체 서비스 ( 규모가 클 수록 더 많은 인자를 가진다.)에 대해 일정수준 이상의 보안성을 유지 한다는 것은 엄청난 노력이 소요됨을 의미한다.

외부 보안업체와 긴밀한 협력 이외에도 내부 기술적 보안 인력의 역량과 리더십이 결합이 되어야 하며 모든 서비스에해 일정수준을 유지 하기 위해서는 최소 2년 이상의 전력질주가 필요하다. ( 필자의 경우에는 2년 정도가 소요 되었다. - 규모에 따라서 이 기간은 대폭 축소 될 수 있다. ) 전체 서비스에 대한 체계적인 진단과 문제점에 대한 팔로윙, 문제 해결의 적절성 검증이 필요하고 새로 만들어지고 변화되는 서비스에 대해서는 전체 문제점 진단하는 과정이 필요하다.

용어적으로는 보안진단과 보안성 검수라는 말로 정의 할 수 있다. 보안성을 테스트 하고 문제점을 해결 할때 계획을 수립하고 범위를 한정하여 진단하는 보안 진단과 개별 서비스에 대한 보안성 검수를 통해 문제를 해결 하는 과정으로 진행 할  수 있다.  현재 대부분이라 할 수 있는 IT 기술에 종속된 보안이라는 측면에서는 제한적인 부분들이 많을 수 밖에 없다. 이런 문제를 해결해 주는 체계적인 정책과 프로세스가 핵심이라 할 수 있다.


* 보안 전문가들의 의견이 받아 들여지지 않고 그들을 침묵하게 만드는 시스템과 체계라면 변화를 꿈꾸기 힘들 것이다. 단지 문서상으로 완전함을 보이기는 쉽다. 눈에 보이는 것을 실행 하고  상위에 보고 하는 것은 쉬우나 언제 결과가 나타날지 모르는 미래에 대해 준비를 하도록 만드는 것은 경영진의 철학이 없으면 안된다. 판단에 있어서 독선이 나타 나는 순간 최악은 금새 나타난다. 

규모에 맞는 보안성을 추구하고 방향성 차원에서 항상 돌아보고 의견을 존중해야 한다. 어려울때만 , 문제가 생겼을 때만 해결을 위해 보안 전문가들을 찾는 것이 아니라 상시적으로 이야기를 들을 수 있고 의견을 반영 할 수 있을때에야 문제 해결에 가까워 질 것이다.

투자와 노력 없이 사람을 닥달하여 얻을 수 있는 것은 이제 큰 한계에 직면 하고 있다.
겉으로 드러나지 않게 숨기고 위장하는 것도 한계에 도달한 상황이다. 


철학과 방향성을 잘 생각하라.

기업의 이득을 창출 하는 것은 미래 발생 가능한 손실을 얼마나 줄여가며 성장 동력을 유지하느냐에 있다. 손실의 범위는 기업의 흥망성쇠와 밀접한 관련을 가지고 있다. 소탐대실이라는 것은 국가든 조직이든 동일하다. 미래의 가능성을 보지 못할때 (전문가에 대한 의견 존중, 의견의 적극적 활용과 고민, 기술적 조직의 고도화 등등 매우 많다.) 문제는 이미 발생 되는 것이다.

당장 눈앞의 이득에 함몰되어 의견이 무시되는 순간 위험은 감내 할 각오가 필요하고 준비가 필요한 것이다. 그래야 다음을 기약 할 수 있다.

기사를 보다보니 단편적인 안타까움과 문제들이 눈에 보여 손가는 대로 써서 포스팅 한다.
각자 도움이 될 수 있는 부분이나 참고 할 수 있는 부분이 있다면 참고 하면 될 것이다. 차후 좀 더 여유가 생긴다면 체계적으로 작성을 할 수 있도록 하겠다.


- 바다란 세상 가장 낮은 곳의 또 다른 이름.

 
Posted by 바다란