태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

진짜 SaaS (Security as a service)는 무엇인가? – 서비스 시작에 부쳐

-바다란

지금의 시기에 Saas의 필요성이란 공격자 우위의 현재 인터넷 상황에서 절대적으로 필요하다. 고급화되고 차별화된 진입장벽을 유지하고 있는 현재의 보안서비스로는 대중적으로 넓게 퍼지고 있고 빠른 확산력을 가지고 있는 공격도구와 기법에 대해 무기력 하기만 하다.

현재 상태에서 공격자들은 대규모적이고 자동화된 공격 방법을 다양하게 가지고 있으며 실제 활용하고 있는 상황이나 대응의 측면에서는 매우 제한적인 영향력을 가질 수 밖에 없다.

첫째는 비용의 문제

“ 보안 서비스를 받는 다는 것은 양질의 서비스를 고급화된 인력으로부터 받기 때문에 그만한 가치를 지불해야만 한다. 자주 변경 되는 웹서비스에 대해 매번 보안진단과 서비스를 받는다는 것은 배보다 배꼽이 더 큰 경우를 자주 양산하게 될 수 밖에 없다. 현재 국내의 상태에서도 보안서비스를 받는 기업의 비율은 전체 웹 서비스에서 10% 미만 이라고 볼 수 밖에 없다. 여력이 있고 지켜야 할 그 무엇이 있는 기업 군에 한해서만 서비스가 이루어 질 수 밖에 없는 환경 이기 때문이다. “

둘째는 기간의 문제

“ 일반적으로 웹 서비스의 개발기간은 그리 길지 않다. 정형화된 형태에 이미지 작업들이 다수 추가 되기 때문이며 아주 특화된 서비스가 아닌 경우에는 항상 일정 기한 내에 끝나게 마련이다. 대부분의 웹 서비스 개발의 문제는 제한된 기한내에 개발을 하되 보안성, 가시성, 편의성을 만족 시켜야 된다고 한다. 기한이 촉박한 경우에는 눈에 보이는 것만을 가지고 평가 할 수 밖에 없다. 즉 눈에 보이지 않는 보안성은 항상 뒷전에 물러날 수 밖에 없고 보이는 것만으로 평가를 할 수 밖에 없으며 개발 업체에서도 가시성과 편의성에 중점을 둔 개발을 할 수 밖에 없다.

잦은 변경이 있는 웹 서비스에서 일반적으로 보안진단을 하기 위해서는 웹 개발자보다 비용이 높은 보안전문가들을 투입하여 개발하는 기간 이상의 정밀 진단과 문제점 파악이 필요한 현 상황에서 비용대비 효과를 맞추기란 쉽지 않다.

잦은 변경과 점검에 걸리는 기간의 문제는 현재 웹 서비스의 보안성을 단순한 도구에 의존하게 하고 있으며 이 도구들은 우회 공격에 취약함을 보이고 있다. 근본 원인 제거 없이는 계속 될 수 밖에 없는 문제라는 것이다.”

셋째는 이해의 문제

“ 한 서비스에 대해서 진단이 되었을 때 그 서비스의 기술적인 보안 문제들을 장문의 결과 보고서에 기록하여 보내준들 그 문제를 이해 할 수준의 개발자들은 거의 없다. 사전식으로 정의 되는 모든 보안 문제들에 대해 일반적인 이야기를 할 때 개발자들은 어느 것을 먼저 해야 하는지? 또 이걸 했을 때 서비스에는 지장이 없는지를 확인 하기가 어렵다. 전문가들 조차도 제대로 이해하기 어려운 보고서의 내용들을 분야가 다른 비전문가들이 읽고 이해 하며 적용을 할 것이라는 것은 상당한 거리감이 있는 이야기 라고 보아야 된다.

문제의 포인트는 가장 시급하면서도 공격자들에게 가장 많이 이용되는 문제들을 지적하고 고칠 수 있는 방안을 실시간으로 제시 할 수 있는가 이다.  보고서와 가이드를 보고 자신의 코드에 적용 시킬 수 있는 사람들은 많지 않다. 그러나 어떤 개발 습관이 또 어떤 코딩이 문제가 있는지를 문제 부분을 지정하여 확인을 시켜 주고 또 재 검증을 할 수 있다면 문제가 달라 질 수 있다.

현재까지의 웹서비스에 대한 보안 방법들의 문제들은 모두 동일한 문제점을 가지고 있다. 사용자 친화적이지 못하며 근본 원인 해결을 위해 부족한 점 ( 비용, 기간, 인력)들이 많을 수 밖에 없다.”

비용과 기간, 이해의 문제를 해결 하기 위해서 필요한 것이 SaaS 서비스이며 보안서비스를 위탁받아 관리를 해주는 것과는 다른 부분이다.  전 세계적으로 가장 필요한 부분이며 가장 대중화된 서비스인 웹서비스 자체를 안전하게 만들기 위해서는 빠르고 직시적이며 바로 반영 할 수 있는 서비스가 절대적으로 필요 할 수 밖에 없다.  국내만의 문제가 아닌 전 세계적인 문제이다.


서비스로서의 보안은 문제 해결을 할 수 있어야 SaaS라 불려져야 한다.


실시간으로 URL을 입력하고 웹서비스의 문제점을 확인 한 후 문제점을 해결 하는 방안을 직시적으로 적용한다. 이후 제대로 적용이 되었는지를 다시 한번 확인을 하게 되면 된다. 숙련된 개발자에게는 이 모든 문제를 해결 하는 시간이 빠르면 30분 늦어도 하루 이내에 완료가 되어야 한다. 그래야 현재의 위기에 처한 인터넷 서비스 상황을 반전 시킬 수가 있다.


SaaS란 지금까지의 패러다임을 바꾸어야만 가능한 모델일 수 밖에 없다.

아무도 모를 취약성이란 없다. 더군다나 공개적으로 오픈 될 수 밖에 없는 웹서비스에 대한 취약성은 데이터베이스까지도 직접 위험에 노출 시킴으로 더 심각한 상황에 처하게 되는 것이다.  이 문제의 해결은 접근성의 확대 , 저렴한 비용, 필요 부분에 대한 직접 가이드 제공이 되어야 가능 할 것이고 이때에야 우리는 문제 해결을 시작 할 수 있게 될 것이다.

전문가라면 스스로가 알고 있는 지식과 경험을 가장 낮은 수준에서 널리 이해 할 수 있도록 만드는 사람이 진짜 전문가라 할 수 있다. 보안전문가라면 알고 있는 기술과 경험을 대중에게 제공 할 수 있는 매커니즘을 고민해야 다음 단계로 갈 수 있다고 생각 한다.

이제 공격자들의 적극적 공세에 맞설 수 있는 가이드가 필요한 시대가 되었다.

세계에서 처음 시도되는 과정까지 보여주는 실시간 점검 서비스

국내의 90% 이상의 웹서비스들은 10분 이내에 점검이 완료 되도록 한 속도

가장 많은 공격도구들이 이용하는 웹 애플리케이션 취약성에 대한 집중진단

더불어 구글도 탐지하기 어려운 유포지 탐지는 덤으로 제공한다.

널리 세상을 이롭게 만들자는 가치 아래 시작되는 프로젝트

https://scan.bitscan.co.kr

https://scan.bitscan.co.kr
빛스캔- 세상을 바꿀 플랜
Posted by 바다란
12.18일 제로보드에 대한 신규 공격을 발견하고 .. 정확하게는 신규 공격이 아니다. 다만 사용처에 비정상적인 경로가 추가 된 것을 최초 발견 하였고 추적을 할 수 있었다. 

그 이후 대응은 아시다 시피 추가된 문자열의 제거 , 제로보드 버전의 업그레이드등 다양하게 이루어 지고 있지만 과연 충분 할까? 금일자로 또 다시 경유지가 변경이 되어 동일한 문제점을 지닌 곳들에 대규모로 추가가 되었다. 물론 악성코드는 신형으로 다시 내려 온다. 

해외 IP를 이용한 경유지 활용이 아닌 국내에 널린 취약한 웹사이트들 여기저기에 올려두고 경로를 비비 꼬아 둔다.
언론사들.. 온라인 주문이 가능한 쇼핑이나 먹거리 사이트들 등등이 여전한 영향권 내에 있다.

http://blog.websanitizer.com/ko/?p=634  24,25일 추가된 악성코드 유포에 사용되는 경유지들은 몇 가지 특징들이 있다. 어떤 형태는 대규모 자동화된 공격에 의해 발생이 된다는 점이고 또한 링크 중에는 악성코드 다운로드가 없는 비정상적인 경로들도 존재한다.  gifimg.php 라는 녀석인데.. 처음에 한 두개 정도 발견 될때는 무시 하였는데 최근 들어 추가 빈도가 매우 높아 졌다. 따라서 차후 어떤 행위로도 활용이 될 수 있는 부분이라 권고가 필요한 부분이라 할 수 있다.

보안분야에서는 팩트를 중요시 한다. 즉 악성코드가 있어야 실체가 있다고 한다. 반은 맞고 반은 틀리다.
악성코드를 뿌릴 수 있는 경로를 먼저 만들어 두고 나중에 한번에 올린다면? 그 감당을 할 수 있을까?
먼저 뿌릴 수 있는 . 더 많은 사용자를 확보 할 수 있는 경로를 먼저 다수 확보한다. 그 이후에 일시에 악성코드를 올린다.  현재 세계의 대응태세나 특히 국내의 대응태세로는 한계라고 봐야 한다.

공격자들의 심리와 프레임을 알 수 있고 예측 할 수 있어야 싸움이 된다.
지금의 모습은 어른과 동네 꼬마가 무기 없이 1:1 싸움을 하는 형국이다. 물론 무술로 단련된 어른은 공격자다. 대응 할 수 있는 방안은 행위를 예측하고 사전에 막는 수 밖에..



취약성개선에 대한 문제는 일단 나중이라고 치고..
웹 서비스에 대한 반복적인 해킹은 지금껏 알려진바가 없으며 담당자에 의해 몰래몰래 처리 되는게 일반적이였다.

그러다 보니 지금과 같은 상황에 이르게 된 것 아닐까?
대부분 악성코드들은 신규 유형의 코드 이며 또한 경유지 경로로 자유자재로 바꾸어서 취약한 웹서비스들을 농락한다.

공격자는 경유지와 유포지 두 곳 모두를 공격하는 것을 너무나도 쉽고 자연 스럽게 한다. 거기에 비해 대응은?


경유지 증가가 폭발적이고 이중에는 간혹 잔머리를 굴리는 듯한 유형들도 발견이 된다. 그 모든 것을 보고 판단하는 것은 식은죽 먹기다.

내가 보는 눈에서는 식은죽이고 정보의 가치가 매우 높다고 생각 하지만 ( 하다 못해 구글보다 빠른 곳은 없지 않나? 그리고 신고 없이 독자적으로 찾아 내는 것도 신규 악성코드만 있지 경유지는 전 세계에 없지 않나? )

나라는 존재 자체가 받아 들이기에 어려운 뜨거운 감자 인갑다.
물론 앞으로 나아 지겠지만..

존재를 부정 할 수는 없고 받아 들이지나 자신들의 방식에 대한 과오를 인정 하는 형태가 되니..

현명한 선택이든 무엇이든 당장 급하면 해야 할 것이다.
실용적인 태도가 필요한 시점이다. 자존과 얄팍한 계산으로는 지금을 넘지 못한다. 모두가..
Posted by 바다란
- 보안뉴스에 기고한 컬럼입니다. 다른 컬럼들도 계속 연이어 나올 예정입니다. 

 

SQL Injection에 관련된 글을 쓰기 시작한지가 벌써 6년이 지났음에도 불구하고 현재의 문제는 해결될 기미를 보이지 않고 있다. 현재는 더 세계적으로 확산이 되고 있고 문제가 커지고 있는 양상이다. 중요한 사실로 언론 지상에 보도되었던 50만대 가량의 웹서버 (정확하게는 DB 서버의 권한이 획득 당하여 웹서버의 소스코드가 변조된 케이스를 의미한다. ) 감염 이슈는 사실상 일상적인 일이 되어 버렸다.

 

산술적으로 하나의 웹사이트에 5명의 사용자만 방문 한다 하여도 악성코드 유포의 기회는 250만개의 클라이언트에 영향을 미친다. 제로데이 (패치가 나오지 않은 취약성) 공격을 감행 할 경우 성공률은 대폭 높아지게 되고 50%의 성공률로만 잡아도 125만대의 PC를 이용하는 사용자 정보는 언제든지 유출 될 수 있는 상황에 직면해 있다. 모든 상황은 최소치로 잡았을 경우에도 이와 같다.

 

국외의 해킹사고들은 국내만을 피해서 발생 할까? 그렇지 않다. 외면되고 알려지지 않는 많은 사건사고들은 조용하게 수습이 되고 언제 그랬냐는 듯이 사라진다. 근본 문제는 해결 되지 않은 상태에서 단순한 배포 링크만을 제거하는 것으로 문제를 쉽게 해결 했다고 한다.

 

지금의 공격은 오로지 금융정보의 유출과 게임 관련된 사용자 정보의 유출에 목적을 두고 있다. 환금성이 있으며 실질적인 이득을 얻을 수 있기 때문에 타켓팅 된 것이다. 해외의 경우에는 온라인 게임 뿐 아니라 금융 관련된 정보들도 손쉽게 획득 할 수 있도록 공격코드가 구성이 되어 있다. 국내의 경우는 금융 관련된 정보보다 온라인 게임의 사용자 계정 정보가 대부분을 차지하는 것이 다를 뿐이다. 가끔 눈 먼 공격툴이 전세계의 웹서버를 공격하여 국내의 게임 계정을 얻기 위한 코드를 설치하는 일도 비일비재하게 일어난다.

 

알려지지 않는 많은 위험들은 이제 실제화 되어 세상에 드러나있고 공격자들은 보다 자연스럽게 공격을 하고 있다. 대규모 해킹이 발생되면 언제나 그렇듯이 전세계의 백신회사들은 바빠진다. 해당 공격 도구의 패턴을 분석하고 업데이트 하느라 분.초를 다투며 대응을 한다. 언제까지 이럴 수 있을까? 지금의 공격도 소수의 공격자가 운용하는 자동화된 공격도구에 의해 발생 되지만 대응은 수천. 수만 명의 전문인력이 전세계적으로 대응해야 하는 비효율적인 양상의 극치를 달리고 있다.  공격자들은 자유자재로 공격코드를 변경한다. 새로운 공격 가능한 취약성이 나온다면 바로 다음날쯤이면 전 세계의 취약한 웹서비스를 통해 악성코드들은 유포가 된다. 가히 리얼타임이라고 하지 않을 수 없다.

 

효율적인 악성코드 설치 매커니즘을 일찌감치 획득한 공격자들은 보다 자동화 되고 효율적인 공격 방법들을 모색하고 있다. asprox라고 불리는 웹으로 유포되는 봇넷의 경우에도 asp+mssql 조합만을 공격 하였으나 확대는 시간 문제라고 볼 수 있다. 그때에는 감당하기 어렵고 대응할 여력조차 없는 상황에 직면 할 수 밖에 없다. 그 시간은 이제 너무나도 가까워져 있다. 근본적인 대응책도 고민을 하지 못하고 논의 되지 못하는 지금의 현실에서 공격도구의 대상 확대는 재앙 같은 의미를 지닌다.

 

일반적인 대응 흐름

 

일반적인 SQL Injection에 관련된 설명이라면 전문가들에게는 식상할 것이고 개발자들 조차도 이젠 심심치 않게 들어본 내용이 될 것이다. 매번 악성코드 유포에 따른 대응은 언론 지상에서 발표가 된다. 국내의 악성코드 대응 흐름은 너무나도 간단 명료하다. 기본 전제는 사건이 있어야 대응을 한다는 점이다.  사건이 발생 하지 않으면 그 어떤 것도 비용으로 분류가 되며 행동이 발생 되지 않는다.

 

대표적인 악성코드 유포에 따른 대응 흐름을 간략히 보면 다음과 같다.

 

1.     신규 공격코드를 이용해 SQL Injection 자동화 공격도구로 취약한 웹 서비스들에 대해 직접적인 공격이 발생 된다.

2.     웹 서비스를 통해 악성코드가 유포된다.

 

A.     유관기관에서는 악성코드 신고 접수 시에 악성코드 유포하는 도메인에 대한 차단을 진행한다.

B.      백신업체에서는 악성코드의 패턴을 이용해 대응하는 백신을 제작하거나 업데이트 한다.

C.      신규 취약성을 이용할 경우에는 패치를 설치 하라고 언급이 되고 패치가 나오지 않을 경우에는 그냥 기다린다.

D.     악성코드가 웹을 통해 감염이 되고 주변 네트워크로도 확산이 되는 것과 같은 특이한 상황의 경우 별도의 방안들을 강구하도록 한다.  ( ARP Spoofing)

 

3.     악성코드의 변형이 유포 될 경우 – 2번 항에 있는 A,B,C 항목은 계속 반복이 된다.

 


여기서 1번 항목은 일반에게 잘 알려지지 않는다. 2번 항목에 대한 내용들만 계속 루프를 돌 뿐이다. 대책으로는 모두 사용자 PC의 안정성을 탓하거나 패치부족, 계정관리의 문제들만을 언급할 뿐이다. 과연 이것만으로 지금의 문제를 정리 할 수 있을까?

 

무언가 빠진 것 같지 않은가?.

진짜 문제는 악성코드가 유포 될 수 있도록 취약성을 간직한 웹서비스들 임에도 대책은 부실하다.

어떤 문제로 인해 공격을 당하는 것은 전문가나 일정 수준에 도달한 사람들이라면 모두 숙지하고 있다. 중요한 것은 어디에 문제가 있느냐 하는 것이다. 어디에서 어떤 부분을 어떻게 해야 하는 모든 과정은 지금 생략 되어 있다.

 

여러 가지 대응 서비스들이 있으나 확산의 한계가 존재하고 비용 문제 또한 만만치 않다. 여기서의 비용은 여러 가지 비용을 산정 할 수 있다. 소스코드의 대폭적인 개선과 보안기능이 강화된 템플릿의 활용, 보안진단 인력, 진단도구의 활용, 웹 보안 도구의 도입 모두 상당한 비용을 수반 할 수 밖에 없다. 일시적인 비용 이외에 지속적인 관리비용 또한 만만치 않게 소요된다. 또 이런 비용과 서비스를 이용해서 보안성을 높인다 하여도 웹 소스코드가 변화 없이 그대로 있었던 경우가 있는가? 매번 변화되고 짧게는 하루에 몇 번, 길게는 몇 달에 한번씩이라도 웹 서비스는 개선이 되고 코드가 갱신된다. 문제는 다시 시작이 된다. 비용대비 효율이라는 측면에서 답이 나오지 않는 해결책이 계속 될 수 밖에 없다.

 

문제의 핵심을 보라

 

악성코드의 변종은 날마다 최대치를 갱신한다. 만약 탐지 건수로만 따진다면 매년마다 신기록을 넘어서고 있을 것이다. 동일한 악성코드가 전 세계에서 발견이 되고 그 숫자는 가공할 만큼의 수치가 발견 될 수 밖에 없다. 왜 이렇게 확산이 되고 범위가 넓혀지는가에 대해 고민을 하고 방안을 마련해야 한다. 그러나 현실은 난감한 상황이다.

 

자유로운 공격자들의 공격에 단순한 대응만으로도 허덕일 지경이니 원인제거를 위한 활동은 단순한 허언에 지나지 않는다. 원인제거 없는 단순한 대응은 보안분야뿐 아니라 IT 생태계 자체가 심각하게 교란되고 혼란해 질 수 밖에 없는 상황으로 점점 더 빨리 달려갈 뿐이다.

 

문제의 핵심은 입력값 검증에 대한 절차 준수와 입력값 검증을 손쉽게 확인 할 수 있는 도구나 서비스가 관건이 될 것이다. 도구나 서비스를 활용해 개발자들이 점진적으로 위험성을 제거해 가고 전체적인 서비스에 존재하는 문제들은 일률적으로 제거 할 수 있도록 가이드 되지 않는 한 이 문제는 인터넷이 사용되는 내내 계속 될 수 밖에 없는 문제이다. 시간 지나면 사라질 문제가 절대 아니다. 2010년 상반기를 결산하는 HP TopRisk Report를 보면 Network 단위에서 발생되는 공격의 80% 이상이 Web application을 노린 공격이다.

(http://dvlabs.tippingpoint.com/toprisks2010 )

공격의 측면은 두 가지로 진행이 되어 왔고 앞으로도 진행 될 것이다.

 

1. 전파를 위한 도구의 고도화 및 확장 ( Mass sql injection tool – MSSQL, Oracle, Mysql)

2. 클라이언트 침입을 위한 다양한 어플리케이션의 제로데이 발견 ( IE, FF, Safari, Flash, PDF …)


우리는 지금 1번에 대한 대응은 생각도 못한 상태에서 클라이언트 침입을 확인 할 수 있는 최소한의 도구만을 지녔을 뿐이다. 물론 이마저도 없는 나라들도 부지기수 이지만

도구가 활용되는 통로를 어떻게 최소화 하고 줄일 수 있느냐에 따라 제로데이의 영향력도 축소가 될 것이다.

 

지금과 같은 대응이라면 매일매일 동일한 대응의 지루한 반복만이 계속 될 뿐이며 나갈 수 있는 정보들은 모두 빠져나가고 악의적으로 활용 될 수 밖에 없으며 결국 서비스 자체 뿐 아니라 서비스의 생태계에도 충분히 큰 영향을 줄 것이다.

 

이미 오래 전 예상된 바이고 이젠 그 결과를 모든 사용자가 간접적으로 느낄 수 밖에 없을 것이다. 문제 발견 이후의 클라이언트에 설치된 어플리케이션의 패치들은 이제 빠른 확산 도구를 갖추고 있는 상태에서 매번 소 잃고 외양간 고치는 것이 반복 될 수 밖에 없다.  빠른 확산 도구인 웹 어플리케이션의 취약성을 각 개별 사이트 마다 찾아서 보완을 하지 않는다면 이 도구는 계속해서 확장하여 종래에는 감당하기 어려운 상황으로 갈 수 있다. 

 

이젠 전략적이며 적극적으로 웹어플리케이션에 존재하는 문제들을 제거하고 보완 할 수 있는 지속적인 방법과 도구를 찾고 활용 함으로써 늦었지만 근본 대응을 모색 할 때이다. 전 세계적으로..

 

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

 

* 여기에서의 웹 어플리케이션은 개발자가 다양한 언어 ( asp ,php ,jsp, aspx )를 활용하여 목적에 맞도록 Database와 연결 하고 그 결과를 사용자에게 보여주는 홈페이지를 의미한다. 대부분의 기업 및 서비스 홈페이지가 그 범주에 해당된다.

 

Sql injection 에 대한 설명들은 필자 블로그의 컬럼들을 참조.

Mass sql injection 대응과 현실 - http://p4ssion.com/200
SQL Injection
공격 변화 - http://p4ssion.com/207
Posted by 바다란