안전한 인터넷 플랫폼은 어떻게 해야 가능할까

현장속으로/세미나 2013.06.11 15:09

지난 5월 9일, 논현동 파티오나인에서 ‘실제 사례를 통해 보는 빅데이터ㆍ클라우드ㆍHTML5’ 란 주제로 ㈜아이뉴스24가 주관하는 『2013 NEXCOM Tech Market』 이 열렸다. 안랩 융합제품개발실 김기영 실장은 ‘HTML5 기반 웹/웹앱 보안’을 주제로 발표하였다.

김기영 실장은 HTML5에 기반 한 웹 플랫폼의 변화와 그에 따른 웹 보안 이슈, HTML5 보안 이슈 그리고 보안 강화 방안의 순서로 발표를 진행하였다. 웹 플랫폼이 발전함에 따라 사용자와 개발자 모두 더 빠르고 편리하게 웹을 이용하게 되었지만, 공격 기법과 취약점은 훨씬 증가하였다. 사용자와 개발자 모두 항상 보안에 대한 긴장을 늦춰서는 안 되는 이유이다. 다음은 김기영 실장의 주요 발표 내용. 

HTML5에 기반한 웹 플랫폼의 변화

웹 플랫폼의 발달은 다양해진 기술만큼 이에 따른 취약점을 이용한 공격들이 많아졌다. HTML5는 사용하지 않아도, 브라우저가 HTML5를 지원하고 있기 때문에 공격코드를 HTML5로 하면 동작이 가능해 모두 HTML5의 보안 문제에 대비해야 한다. 

웹 보안 이슈

 Phishing 

주로 이메일/메신저/SMS 등을 통해 사용자를 가짜 사이트로 이끈 뒤 개인정보와 금융정보 등을 탈취하는 공격

 Pharming

악성코드를 통해 Host file 조작, API Hooking 이나 DNS 조작 등을 통하여 사용자를 다른 사이트로 접근하게 하여 피싱과 같이 정보를 탈취.

 Session Hijacking

유효한 세션의 정보를 탈취하여 인가되지 않은 접속을 하는 공격

 Click Jacking

사용자가 의도한 클릭과 다른 동작을 하도록 하는 공격

 XSS (Cross Site  Scripting)

다른 사람이 보는 웹화면에 client-side-script를 삽입하여 접근 제어를 우회하고 해당사이트의 개인정보나 개인의 쿠키정보 등을 탈취하는 공격

 SQL Injection

입력 필드에 SQL문의 일부를 삽입하여 서버에서의 SQL의 동작을 바꾸는 방법으로 인증우회를 하며 또 다른 공격괴 연결되도록 한다.

 Web Shell

웹 기반의 shell로서 웹서버의 다양한 취약점을 통해 server page를 업로드하고 브라우저를 통하여 명령전달 및 그 결과를 받아보는 공격 방식.

Phshing은 스마트폰의 발전으로 SMS+Phsing라 불리는 Smishing으로 휴대폰 해킹이 늘어가며 문제가 되고 있다. 또한 클라이언트에 침투해서 클라이언트시스템을 바꾸어 사용자가 마치 가짜사이트를 진짜사이트처럼 접속하게 속이는 Pharming으로 Phishing이 더욱 강력해지고 있다.

Session Hijacking에는 공격기법이 자신의 세션으로 정상 사용자가 로그인 하게 하는 방법인 Session Fixation, packet sniffing을 통해 유효 session cookie를 가져오는 방법인 Session Sidejacking, 공격자가 웹사이트에 client-side-script를 삽입하여 사용자의 입력정보나 세션정보를 취하는 방법인 Cross-site scripting(XSS)로 세 가지이다.

Click Jacking은 페이스북에서 이용된 사례가 있으며, 뉴스피드에 뜬 성인 동영상을 호기심에 play하면 곧바로 “공유하기”나 “좋아요”로 동작이 된 것이다. 이를 통해 동영상은 많이 퍼져나가 공격자들은 돈을 벌게 된다.이와 같은 공격이 빈번히 발생하자 페이스북에서는 Click Jacking을 차단한 것으로 보인다.

SQL Injection공격에 이용되는 쿼리문의 예시는 아래와 같다.

statement = "SELECT * FROM users WHERE name = '" + userName+ "';“\

SELECT * FROM users WHERE name = '' OR '1'='1';

구문에서 뒤의 OR '1'='1'; 은 무조건 참이 되게 하는 쿼리문이다. 이러한 쿼리문으로 SQL의 조건을 변경하여 이상한 결과가 출력되도록 한다.

Web Shell은 사이트의 안전성을 평가하는 항목 중 필수적으로 들어갈 정도로 중요하며, 개발자가 만들지 않은 업로드페이지를 호출하여 공격자가 원하는 쉘 명령을 실행을 한다. 그 결과 정보를 삭제 및 추가 등 심각한 문제가 발생한다. 

HTML5 보안 이

HTML5의 기본사항은 WEB as CS로, HTML5의 기능이 매우 다양해졌다. 이러한 기능들의 조합으로 이전에 불가능 했던 공격들이 가능해지며 공격접점이 증가하였다.

위 그림과 같이 매우 다양한 방법의 공격이 HTML5에 존재한다. 공격은 어마어마한 기술을 사용하는 것이 아닌, 대부분 개발의 허점을 찾아 단순하게 이뤄지기 때문이다. 이러한 공격은 Bug를 통해 많이 이루어진다. Bug가 꼭 취약점을 의미하지는 않지만 기능이 많을 수록 취약점도 많아진다. 이러한 Bug를 몇 가지 살펴보면 브라우저와 멀티미디어가 있다. 브라우저에서는 Use After Free와 Buffer Overflow, 멀티미디어는 웹과 브라우저가 아닌 수많은 어플리케이션과 시스템이 취약점으로 확장을 가져온다. 

보안 강화 방안

 Secure Coding

개발자들은 머릿속에서만 만들어 둔 전제를 코드로 구현해야 한다.            텍스트를 받아서 처리한다고 생각을 하면, 해당 데이터가 텍스트인지 여부, 글자의 길이를 확인하는 코드 등 머릿속 전제를 코드로 구현한다면 보안성이 월등히 높아질 것이다.

 Secure Channel

 HTTPS는 SOP를 강제하는 효과가 있다. 따라서 대부분의 HTML 보안 이슈를 원천 차단하는 효과가 있다. 따라서 페이스북, 구글과 같이 HTTPS로 접근하는 사이트를 이용할 것을 권유한다. 이를 이용하면 중간에 데이터가 들어와 변조가 되는것은 막아준다.

 클라이언트 side에서의

 컨텐츠 검증

Channel이 보호된 상태라면 클라이언트에서 스크립트 실행 전 점검하는 코드를 삽입해준다. 악성코드에 삽입되는 코드를 필터링하는 코드나 데이터의 길이를 체크하는 코드를 삽입해 주는 것이 좋다.

 웹방화벽

웹방화벽을 이용해 SQL Injection, XSS 등 다양한 웹 취약점에 대한 공격을 방어한다. 하지만 방화벽을 너무 믿는것 보다는 정기적 점검과 코드수정이 더 중요하다.

 웹 취약점 점검

자동 점검 도구나 서비스를 통한 정기적이고 지속적인 점검이 필요하다.

 웹 앱 검증

애플은 앱검증을 철저히 하기 때문에 악성코드가 없다. 사전검증은 악성코드를 줄일 수 있기 때문에 앱 검증을 철저히 해야 한다.

Ahn


 대학생기자 박서진 / 서울여대 정보보호학과

 끝없이 노력하고 끝없이 인내하고 끝없이 겸손하자.

 


댓글을 달아 주세요

액티브X 의존도 높은 웹 환경 개선하려면

현장속으로/세미나 2013.05.15 07:00

5월 9일 '2013 NEXCOM Tech Market'이 '실제 사례를 통해 보는 빅데이터·클라우드·HTML5'라는 주제로 서울 파티오나인에서 열렸다. 이 날 세미나에서 한국인터넷진흥원(KISA)의 허해녕 팀장은 차세대 웹 표준인 HTML5의 확산 전략을 설명하였다. 

허해녕 팀장은 종전 웹 환경의 문제점을 살펴보고 HTML5의 특징을 소개했다. 또한 글로벌 업계의 동향, HTML5를 확산하기 위한 미래부와 한국인터넷진흥원의 전략을 소개하였다. 다음은 허해녕 팀장의 주요 발표 내용을 정리한 것이다.

▲ NEXCOM 2013 (KISA 허해녕 팀장)


그 동안의 웹은?                                                      

HTML4에서는 기본적으로 텍스트와 하이퍼링크 내용을 담고 표시한다. 웹에서는 비디오나 오디오, 기타 파일 다운로드 등 많은 기능들을 요구한다. 이렇게 다양한 애플리케이션을 실행하기 위해서는 플러그인 프로그램이 필요하다. 

예를 들어 Internet Explorer에서는 ActiveX를 사용하며 Chrome, Firefox 등에서는 각 브라우저마다 별도의 플러그인 프로그램을 사용하여야 한다. 우리나라는 Internet Explorer 의존도가 90% 정도로 매우 심하다. 그에 따라 대부분의 인터넷 뱅킹의 주요 기능이 ActiveX로 구현되어 있다. 

이처럼 글로벌 표준과 괴리되어 많은 문제점이 발생하게 되었다. 또한, 지금까지 인터넷에 접속하는 방법으로 주로 PC를 이용하였지만 스마트폰, 스마트패드 등 다양한 스마트 단말 환경을 이용하면서 ActiveX등을 사용할 수 없는 등 이용 환경의 제약이 발생하게 되었다.

HTML5란?                                                             

웹 문서에 다양한 기능이 있어서 별도 프로그램이 불필요하며 어느 브라우저에서도 이용이 가능하다.

    ① 소프트웨어나 플러그인의 추가 설치 없이 상호작용이 가능한 게임을 웹에서 구동할 수 있다.

    ② 플러그인 추가설치 없이 다양한 포멧의 비디오, 오디오를 웹페이지에 추가할 수 있다.

    ③ 웹페이지의 객체들이 마우스 커서의 움직임에 반응하도록 설계할 수 있다.

    ④ WebGL 기술 기반으로 PC의 그래픽 카드를 이용해 3D 그래픽을 표현할 수 있다.

브라우저 업체마다 특정 기술을 사용하는 환경을 개선하여 유·무선 어디에서나 제약 없이 사용 가능한 인터넷 이용 환경을 구축하기 위해 현재 W3C에서 표준화를 진행 중이며 2014년 말에 최종 확정 예정이다.


HTML5 기반의 인터넷 생태계 개선을 위한 전략              

구글, 마이크로소프트, 애플 등 다양한 업체가 HTML5의 등장과 함께 최신 웹브라우저에서의 HTML5 수용도를 향상하고 있다. 국내 업체들도 HTML5 표준 적용을 추진 중이지만 아직 초기 단계에 불과하다. 이렇듯 글로벌 표준에 대한 낮은 수용 상태와 여러 문제점을 해결하기 위해 한국인터넷진흥원은 다음과 같은 전략을 제시하였다. 

현 OS(구글, 애플 등) 중심의 플랫폼 종속성을 탈피하여 글로벌 인터넷 주도권을 확보해야 한다. 글로벌 표준을 준수하고 멀티브라우징, BYOD, OSMU, N-Screen을 가능하도록 하여 이용자 선택권 및 접근성을 강화해야 한다. 그리고 HTML5  전문 중소·벤처기업을 융성하고 관련 전문 인력을 3만 명 양성하여 글로벌 웹 기술 경쟁력을 강화할 수 있도록 한다는 추진 전략을 제시하였다. Ahn

 

대학생기자 김대희 /  경기대 컴퓨터과학과

 

댓글을 달아 주세요