2015년 7월 14일 화요일

공포와 통제

요즘 개콘을 끊고(?) '김제동의 톡투유'를 보고 있다. 다들 비슷한 걱정하면서 살아가는구나 하는 공감을 주는 (딱히 해결책은 없는) 프로그램인데 지난 주 방송분이 좀 흥미로웠다. 

무슨 일이 발생할지 알 수 없는, 불확실한 위험 앞에서 (암흑을 무서워한 덕분에 살아남은 원시 인류의 후손인) 사람들은 공포를 가진다고 한다. 특히 위험이 예상되는 사건에 제대로 대처하지 못할 것 같다고 '인식하는 것' 자체가 두려움을 유발한다고.


2015년 7월 2일 목요일

싸우는 심리학

대통령 심리 분석으로 화제가 된 바 있는 심리학자 김태형 씨의 심리학같지 않은 심리학 책.

"고대 노예제 시대에 태어난 사람은 대부분 노예로 살아가고, 중세 봉건제 시대에 태어난 사람은 농노로, 현대 자본주의 시대에 태어난 사람은 노동자로 살아간다 " (34페이지)

맞는 말이다. 자유의지로 살아가는 것 같지만 결국 사람들은 철저하게 짜여진 사회제도나 구조에 얽매여서만 살아갈 수 있다.

학교에서 가르쳐주지 않는, 알아봐야 머리만 아픈 그런 내용. 설령 금수저가 아니라 다이아수저를 물고 태어났다 해도, 사회나 사회 관계로부터 영원히 고립될 수 있는 공포를 극복하기 전에는 그런 제도나 구조를 거부하지 못하니까.

2015년 6월 24일 수요일

Snort 분석(WEB-MISC weblogic/tomcat .jsp view source attempt - 3rd)

지난 글에서 기존 룰의 문제점을 찾고, URL 인코딩된 패턴만을 검사할 수 있도록 다음과 같은 룰 수정을 시도했었다.

(수정 전)
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS 
(msg:"WEB-MISC weblogic/tomcat .jsp view source attempt"; 
flow:to_server,established; 
content:".jsp"; nocase; http_uri; 
pcre:!"/^\w+\s+[^\n\s\?]*\.jsp/smi"; 
metadata:service http; reference:bugtraq,2527; classtype:web-application-attack; sid:1054; rev:10;)

2015년 6월 14일 일요일

Snort 분석(WEB-MISC weblogic/tomcat .jsp view source attempt - 2nd)

지난 글에서 'WEB-MISC weblogic/tomcat .jsp view source attempt' 룰에 의해 발생한 로그의 오탐 근거를 찾고, 룰 개선을 시도했었다. 하지만 데이터베이스 저장 오류(2개의 패킷이 하나로 저장?)로 인해 로그 분석이 여의치 않았었다.

상용 보안장비에서는 경험하기 힘든 오류라 당황스럽긴 하지만 그렇다고 분석을 안할 수는 없는 노릇. 방법을 찾아야 한다. 다행히 Snort는 로그를 발생시킨 원인 패킷을 같이 저장한다.

Wireshark를 이용해서 해당 패킷을 분석할 수 있다는 얘기. 하지만 아무래도 로그 분석은 결국 텍스트 분석이다 보니 특정 패턴이 포함된 패킷을 알려줄 뿐, 해당 패턴의 위치를 표시해주지 못하는 Wireshark로는 정확한 분석이 힘들 수 밖에 없다. 가장 좋은 방법은 패킷에서 텍스트를 추출하는 것.

2015년 6월 9일 화요일

Snort 분석(WEB-MISC weblogic/tomcat .jsp view source attempt)

두번째 분석 사례는 모 쇼핑몰 사이트 접속 과정에서 'WEB-MISC weblogic/tomcat .jsp view source attempt'라는 룰에 의해 발생한 탐지로그.


2015년 5월 31일 일요일

싸가지 없는 진보

간단 정의하면 바뀌는 게 이익일 때 진보, 유지하는 게 이익일 때 보수일 것이다. 인간은 보통 이익을 얻기보다 손해를 입지 않기 위해 더 열심히 싸운다. 처음부터 없었으면 모를까, 있다가 없으면 허전하니까.

그래서 바꾸려는 자와 지켜려는 자의 싸움은 지켜려는 자에게 더 치열할 수 밖에 없다. 기득권을 포기하기란 참 쉽지 않다.

그렇다고 입장 바꿔보니 이해가 간다면서 내 이익 추구를 포기할 수도 없으니 진보와 보수와 싸움은 영원할 듯.

주먹다짐으로 끝나는 당사자들만의 싸움이면 간단할텐데, 구경꾼의 마음을 얻어야 하는 싸움이라 더 어려운 것 같다. 그런데 강준만 교수는 진보가 그동안 당사자들끼리의 싸움을 해왔다고 생각하는 듯하다.

당사자들끼리의 싸움에서 이겨도 구경꾼의 마음을 얻지 못한다면 결국 진 싸움이라는 것. 그리고 구경꾼의 마음을 얻기 위해서는 싸가지있게 싸우라는 것.

2015년 5월 26일 화요일

정규표현식: VIM과 PCRE

이전 글에서 정규표현식을 이용하여 (텍스트 데이터인) Snort 룰 구조 분석 후 필요한 영역만을 분리해낼 수 있었다. 그런데 이 정규표현식이란 게 애플리케이션마다 동작 방식이 다를 때가 있어서 종종 애로사항이 발생할 때가 있다.

VIM과 PCRE는 어떻게 다를까? 일단 VIM은 자체 정규표현식 엔진을, Snort는 PCRE(Perl Compatible Regular Expressions)를 사용하는데, 이런 차이가 동작 원리의 차이로 이어지지는 않는다.

다만 몇몇 메타문자의 표현 방식에서 매우 사소한, 하지만 (특히 괄호 및 OR 연산자를 표현할  때 '\'를 이용한 예외 처리가 필요하다는) 매우 귀찮은 차이로 이어진다.

이런  차이가  발생하는 이유는 한마디로 PCRE는 정규표현식 자체이기 때문에 정규표현식이 우선하지만, VIM은 텍스트 편집기라는 태생적 특성상 텍스트가 우선하기 때문. 문제는 항상 그렇지는 않다는 점. 그래서 더 헷갈림(..)

크리에이티브 커먼즈 라이선스