2015.11.04

'웹 애플리케이션이 해킹됐을 때' 5가지 징후와 대응 방안

Fahmida Y. Rashid | InfoWorld
웹 사이트 변조, 데이터베이스에서 발견된 이상한 정보, 미심쩍은 파일 등 웹 애플리케이션이 해킹됐을 때 나타나는 몇 가지 징후들이 있다. 이 징후들에 대해 알아보자.


이미지 출처 : Thinkstock

웹 애플리케이션으로 소비자가 기업을 처음으로 접하는 경우가 많다. 때문에 웹 애플리케이션은 그 기업의 얼굴이다. 하지만 이 앱은 외부에 공개돼 있기 때문에 취약점이 되기도 한다.

대부분의 웹 애플리케이션 공격은 은밀해서 포착하기 어렵다. 버라이즌의 2015년 데이터 침해 사고 보고서(Data Breach Investigations Report)에 따르면, 해커들은 네트워크에 침입한 후 평균 205일 동안 숨어 있는다. 그리고 바로 이 부분이 문제다. 법 집행 기관이나 화가 난 고객에게 연락을 받고 나서야, 누군가 기업 네트워크 환경을 침해했다는 사실을 알아채기 때문이다.

그렇다면 웹 애플리케이션이 해킹 당했는지 알 수 있는 방법이 있을까? 인포메이션 시큐리티 포럼(Information Security Forum)의 매니징 디렉터 스티브 더빈은 "웹 애플리케이션이 해킹 당하면 이상 행동이 감지되기 시작한다"고 밝혔다. 따라서 애플리케이션의 정상 행동이 뭔지 철저히 파악한 후, 이상 행동에 주의를 기울이는 것이 아주 중요하다.

다음은 애플리케이션이 감염됐음을 알려주는 5가지 징후다. 여기에 웹 애플리케이션 보안에서 '일반 상식'이나 다름 없는 조언 몇 가지를 덧붙였다.

징후 1: 애플리케이션이 해야 할 일을 하지 않는다
애플리케이션에 의심스러운 일이 발생했는지 알아채는 가장 좋은 방법 중 하나는 모니터링이다.

예를 들어, 데이터베이스에서 결과를 가져오는데 과거보다 더 많은 시간이 걸리는 현상이 발생할 수 있다. 예기치 않은 때 페이지를 표시하고, 사용자를 다른 페이지로 인도하는 현상도 있다. 또 트래픽을 폭증시킬 마케팅 활동이 없었음에도 트래픽이 증가한다. 하루 평균 주문량이 50건인 작은 인터넷 상점의 주문량이 갑자기 5,000건으로 증가하는 현상도 있다.

물론 웹 애플리케이션 감염과 상관 없이 이런 현상이 발생할 수 있다. 예를 들어, 디도스 공격을 포함해, 일시적으로 인터넷 연결에 문제가 발생해 페이지 로딩 시간이 지연될 수 있다. 이 경우, 큰 피해가 닥치기 전에 당장 조사를 시작하는 것이 좋다.

애플리케이션이 사용자를 다른 페이지로 보내는 이유를 찾아야 한다. 악성 광고가 페이지 기능을 방해하고 있을 수 있다. 최근 페이지 코드를 수정했을 수 있다. 데이터베이스의 정보가 조작되어 있을 수 있다. 실제 사용 환경에서 애플리케이션을 조사해 정상적인 행동을 파악해야 한다. 그래야 이상 행동을 식별한 즉시 조사에 들어갈 수 있다.

징후 2: 예기치 않은 로그 메시지가 발견된다
로그는 제대로 설정만 한다면 정보의 보고 역할을 한다. 데이터베이스 로그를 자세히 조사하면 예기치 않은 쿼리나 정보가 들어온 시점을 알 수 있다. 데이터베이스 로그에 단기간 동안 여러 차례 오류가 기록되어 있다면, 누군가 SQL 주입 공격의 표적이 될 애플리케이션을 찾고 있거나, 이미 찾았다는 신호다. 데이터베이스 쿼리가 시작된 장소를 추적하고, 애플리케이션이 인풋(input)을 올바르게 처리했는지 확인한다.

웹 서버 소프트웨어는 시스템 FTP와 HTTP 로그를 통해 인바운드와 아웃바운드 네트워크 연결을 로그로 기록한다 (이 기능이 활성화되어 있어야 함). 이 로그는 승인되지 않은 행위, 악성 행위를 경고하는 신호를 제공한다.

웹 서버는 보통 내부 데이터베이스와 연결된다. 웹 서버에 공공 IP 주소로 연결된 아웃바운드 네트워크 연결이 있다면, 그 이유를 파악해야 한다. 이유 없는 파일 전송은 웹 서버에서 데이터가 유출됐음을 알려준다. 해커가 애플리케이션에서 데이터를 탈취했거나, 원격 서버로 콘텐츠를 전송하고 있음을 알려주는 단서다.

네트워크 외부의 현상에 너무 집중해 내부의 움직임을 경시하는 우를 범해서는 안 된다. 웹 서버가 사용자 파일 공유, 개별 컴퓨터 등 다른 내부 네트워크 자원과 통신하는 것이 공격자 이미 접근 권한을 획득해 네트워크를 돌아다니고 있다는 신호일 수도 있다. 사용자가 파일을 업로드 할 수 있는 애플리케이션이라면, 기업 내부에서 이용하는 서버 대신 전용 파일 서버를 사용해야 한다.

애플리케이션 로그는 서버 로그처럼 올바르게 설정해 모니터링 하고 있다면, 문제가 발생한 때를 알려준다. 애플리케이션 로그에는 사용자 또는 다른 관리자 계정 생성 등 관리자 권한의 작업이 기록돼야 한다. 애플리케이션이 관리자 등 특수 권한의 계정을 생성했다면, 해커가 그 계정을 생성한 것은 아닌지 확인한다.

또 관리자가 웹 애플리케이션에 로그인 한 시간을 알아야 한다. 그래야 로그인 시간과 위치를 기준으로 접근 상태를 정기 점검할 수 있다. 관리자 계정으로 수행된 작업도 확인한다. 웹 애플리케이션의 관리자 계정 작업이 설명되지 않는 작업이라면 침해가 발생했음을 알리는 강력한 신호다.

웹 페이지 로딩 시 관련 오류 건수가 늘어났다면, 애플리케이션이 이상 행동을 하고 있다는 신호다. 오류가 증가한 경우, 오류를 촉발한 페이지를 찾아 변경된 부분이 있는지 찾는다.
CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.



2015.11.04

'웹 애플리케이션이 해킹됐을 때' 5가지 징후와 대응 방안

Fahmida Y. Rashid | InfoWorld
웹 사이트 변조, 데이터베이스에서 발견된 이상한 정보, 미심쩍은 파일 등 웹 애플리케이션이 해킹됐을 때 나타나는 몇 가지 징후들이 있다. 이 징후들에 대해 알아보자.


이미지 출처 : Thinkstock

웹 애플리케이션으로 소비자가 기업을 처음으로 접하는 경우가 많다. 때문에 웹 애플리케이션은 그 기업의 얼굴이다. 하지만 이 앱은 외부에 공개돼 있기 때문에 취약점이 되기도 한다.

대부분의 웹 애플리케이션 공격은 은밀해서 포착하기 어렵다. 버라이즌의 2015년 데이터 침해 사고 보고서(Data Breach Investigations Report)에 따르면, 해커들은 네트워크에 침입한 후 평균 205일 동안 숨어 있는다. 그리고 바로 이 부분이 문제다. 법 집행 기관이나 화가 난 고객에게 연락을 받고 나서야, 누군가 기업 네트워크 환경을 침해했다는 사실을 알아채기 때문이다.

그렇다면 웹 애플리케이션이 해킹 당했는지 알 수 있는 방법이 있을까? 인포메이션 시큐리티 포럼(Information Security Forum)의 매니징 디렉터 스티브 더빈은 "웹 애플리케이션이 해킹 당하면 이상 행동이 감지되기 시작한다"고 밝혔다. 따라서 애플리케이션의 정상 행동이 뭔지 철저히 파악한 후, 이상 행동에 주의를 기울이는 것이 아주 중요하다.

다음은 애플리케이션이 감염됐음을 알려주는 5가지 징후다. 여기에 웹 애플리케이션 보안에서 '일반 상식'이나 다름 없는 조언 몇 가지를 덧붙였다.

징후 1: 애플리케이션이 해야 할 일을 하지 않는다
애플리케이션에 의심스러운 일이 발생했는지 알아채는 가장 좋은 방법 중 하나는 모니터링이다.

예를 들어, 데이터베이스에서 결과를 가져오는데 과거보다 더 많은 시간이 걸리는 현상이 발생할 수 있다. 예기치 않은 때 페이지를 표시하고, 사용자를 다른 페이지로 인도하는 현상도 있다. 또 트래픽을 폭증시킬 마케팅 활동이 없었음에도 트래픽이 증가한다. 하루 평균 주문량이 50건인 작은 인터넷 상점의 주문량이 갑자기 5,000건으로 증가하는 현상도 있다.

물론 웹 애플리케이션 감염과 상관 없이 이런 현상이 발생할 수 있다. 예를 들어, 디도스 공격을 포함해, 일시적으로 인터넷 연결에 문제가 발생해 페이지 로딩 시간이 지연될 수 있다. 이 경우, 큰 피해가 닥치기 전에 당장 조사를 시작하는 것이 좋다.

애플리케이션이 사용자를 다른 페이지로 보내는 이유를 찾아야 한다. 악성 광고가 페이지 기능을 방해하고 있을 수 있다. 최근 페이지 코드를 수정했을 수 있다. 데이터베이스의 정보가 조작되어 있을 수 있다. 실제 사용 환경에서 애플리케이션을 조사해 정상적인 행동을 파악해야 한다. 그래야 이상 행동을 식별한 즉시 조사에 들어갈 수 있다.

징후 2: 예기치 않은 로그 메시지가 발견된다
로그는 제대로 설정만 한다면 정보의 보고 역할을 한다. 데이터베이스 로그를 자세히 조사하면 예기치 않은 쿼리나 정보가 들어온 시점을 알 수 있다. 데이터베이스 로그에 단기간 동안 여러 차례 오류가 기록되어 있다면, 누군가 SQL 주입 공격의 표적이 될 애플리케이션을 찾고 있거나, 이미 찾았다는 신호다. 데이터베이스 쿼리가 시작된 장소를 추적하고, 애플리케이션이 인풋(input)을 올바르게 처리했는지 확인한다.

웹 서버 소프트웨어는 시스템 FTP와 HTTP 로그를 통해 인바운드와 아웃바운드 네트워크 연결을 로그로 기록한다 (이 기능이 활성화되어 있어야 함). 이 로그는 승인되지 않은 행위, 악성 행위를 경고하는 신호를 제공한다.

웹 서버는 보통 내부 데이터베이스와 연결된다. 웹 서버에 공공 IP 주소로 연결된 아웃바운드 네트워크 연결이 있다면, 그 이유를 파악해야 한다. 이유 없는 파일 전송은 웹 서버에서 데이터가 유출됐음을 알려준다. 해커가 애플리케이션에서 데이터를 탈취했거나, 원격 서버로 콘텐츠를 전송하고 있음을 알려주는 단서다.

네트워크 외부의 현상에 너무 집중해 내부의 움직임을 경시하는 우를 범해서는 안 된다. 웹 서버가 사용자 파일 공유, 개별 컴퓨터 등 다른 내부 네트워크 자원과 통신하는 것이 공격자 이미 접근 권한을 획득해 네트워크를 돌아다니고 있다는 신호일 수도 있다. 사용자가 파일을 업로드 할 수 있는 애플리케이션이라면, 기업 내부에서 이용하는 서버 대신 전용 파일 서버를 사용해야 한다.

애플리케이션 로그는 서버 로그처럼 올바르게 설정해 모니터링 하고 있다면, 문제가 발생한 때를 알려준다. 애플리케이션 로그에는 사용자 또는 다른 관리자 계정 생성 등 관리자 권한의 작업이 기록돼야 한다. 애플리케이션이 관리자 등 특수 권한의 계정을 생성했다면, 해커가 그 계정을 생성한 것은 아닌지 확인한다.

또 관리자가 웹 애플리케이션에 로그인 한 시간을 알아야 한다. 그래야 로그인 시간과 위치를 기준으로 접근 상태를 정기 점검할 수 있다. 관리자 계정으로 수행된 작업도 확인한다. 웹 애플리케이션의 관리자 계정 작업이 설명되지 않는 작업이라면 침해가 발생했음을 알리는 강력한 신호다.

웹 페이지 로딩 시 관련 오류 건수가 늘어났다면, 애플리케이션이 이상 행동을 하고 있다는 신호다. 오류가 증가한 경우, 오류를 촉발한 페이지를 찾아 변경된 부분이 있는지 찾는다.
CIO의 프리미엄 콘텐츠입니다. 이 기사를 더 읽으시려면 개인정보 등록이 필요합니다. 이미 등록하신 분은 '본인확인'을 해주십시오.

X