Popular Tags:

정보보안기사 시험 후기

2013년 7월 6일 at 12:17 pm

1. 시험이 10분 늦게 시작했다
2. 휴대전화를 진동으로 하랬다가 잠시 후 걍 끄자고…
3. 사위 등의 부당한 방법이 뭘까? 사기..
4. 보기 두 개가 내용이 동일하가. 차이는 맨 끝이 “인 것으로 본다”냐 “으로 추정한다”냐의 차이. 출제 실수인 것 같다.

정보보호전문가(SIS)가 국가기술자격시험으로 바뀐 후 본 첫 시험.
준비가 많이 미흡하다..

앱 오픈..

2013년 7월 2일 at 12:17 pm

.. 그랬답니다. 결국 일정은 맞췄답니다…. 이제부터 품질 높이기가 까마득하답니다.

http://media.daum.net/economic/finance/newsview?newsid=20130701103808339

‘국정원 수사’ 경찰 작업 영상 보니 헉!

2013년 6월 15일 at 12:15 pm

하아 슬픈 현실 ㅠㅠ

http://www.hani.co.kr/arti/society/society_general/591845.html

‘국정원 수사’ 경찰 작업 영상 보니 “없는 것으로 하자”www.hani.co.kr검찰, 경찰 사이버수사대 작업상황 영상 녹취록 공개처음엔 “ID 찾았다” 환호…나중엔 증거 은폐 정황

L4 Load Balancer와 웹서버의 IP Listening

2013년 6월 1일 at 4:00 am

며칠 전 회사에서 도메인 네임을 신청했다. app.회사이름을 A 와 B 라는 이중화된 서버로 할당해달라는 것.

이를 위해 시스템팀에서는 Z 라는 이름을 Virtual IP 를 L4 장비에 할당하여 Load Balancing 하게 하였다. (아래 그림 참조)

서버에는 도메인 네임

서버에는 도메인 네임

문제는 app.회사이름으로 연결이 되지 않는다고 앱 개발실에서 연락이 온 것.

확인해보니 Z 의 IP 로 웹서버가 연결되지 않았다.

시스템팀에 내려가니 하필 아무도 없어 SM 들에게 직접 문제의 해결을 요청했다.

SM들이 작업을 하는데 옆에 붙어서 계속 지켜보았다. 어떤 이유인지 쉽게 되지 않아 헤매는 듯 하였다.

이때 최근까지 WAS 및 네트워크를 담당하다가 보안팀으로 옮겨간 동기가 나타나서 무척 반가운 마음에 붙잡고 문제의 해결을 요청했다.

그런데 문제가 해결되지 않자 원인을 엉뚱한 곳으로 돌린 것.

“웹 서버에서 IP 를 지정해주는 게 있는데 그게 IP A 나 B 만 지정해준 것 같으니 Z에 대해서도 열리게 * 로 지정해줘요.”

“아니, 그건 서버에서 bind할 IP(and port)를 지정하는 부분이고, 여기서 필요한 건 그게 아니잖아.”

“뭘 안다 그래요 내가 전 WAS 담당자인데 내 말이 맞으니까 그렇게 해요.”

여기에서 그 동기가 말한 설정 부분은 IIS를 비롯한 거의 모든 웹서버에 있는, 어떤 IP에 대한 특정 포트를 listen할 것인가에 대한 이야기였다.

그리고 A, B 서버는 모두 각각 하나씩 유일하게 할당되어있는 IP에 대해 그 특정 포트를 listening 하고 있다.

Network Server Programming

이외에도 Virtual Host 를 결정해주는 부분도 웹서버에 있는데, 각 IP 에 특정한 호스트 이름으로 들어온 요청들을 별개의 가상 서버인 것처럼 서비스해주는 것.

Virtual Host

하지만 이마저도 Z의 IP를 지정할 필요가 없고 * 혹은 A, B 가 각자의 IP를 지정하기만 하면 되는 것이다.

실제로 웹서버가 받는 메시지는 GET http://app.회사이름/index.html HTTP/1.1 과 같은 형태의 도메인 네임을 가진 메시지이고,

IP 는 Network Layer 에서 붙인 헤더에 있는데, L4 장비가 Z의 IP로 들어온 세그먼트를 까다가

Network Layer에서 나온 IP의 Z를 A, B로 바꿔치기하여 패킷을 재작성하고 A, B로 보내는 것이다.

그러므로 A, B 가 받는 패킷에는 Z 의 IP가 존재하지 않는다.

이미 Network Layer 의 목적지 IP 가 A, B 로 치환되었기 때문이다.

IP는 L3

IP는 L3

이후 IP 가 나올 수 있는 부분이 Application Layer 의 HTTP Header 에서 다시 한 번 있기는 한데, 이는 Virtual Host 에 대한 부분이며, 이 또한 현 상황에서는 IP 주소가 아닌 app.회사이름의 도메인명이 넘어오기 때문에 역시나 관계없는 이야기가 되겠다.

내가 SM에게 해당 부분을 지웠다가 다시 설정해달라고 하여 해결은 하였으나, 속 터질 뻔 했다.

뭐 사실 우리 회사에서는 흔한 일이다.

1. L4 에서 IP 를 변경해주는 것은 Network Layer(Layer 3)의 내용이다.

2. 웹서버는 자신이 bind할 IP와 port 를 지정한다.

3. 웹서버가 받는 받는 패킷의 Application Layer 는 URL 이 도메인 네임을 이용했을 경우 도메인 네임을 받는다.

4. 전산 전공이면 OSI 7 Layer 는 좀 달달 외우자!

늙긴 늙었나보다.

2013년 5월 18일 at 9:54 am

나는 원래 감기에 자주 걸린다. 1년에 한두번씩은 걸리고 넘어가는데, 증상은 항상 똑같이 매우 심한 기침이다. 그러면서도 20대까지 몸에서 열이 나는 느낌이 무엇인지는 몰랐다. 내 나이 31 살의 연초 겨울날 밤에 자다가 너무 추워서 깨어나 옷을 둘둘 껴입고 잠을 잤던 적이 있었는데 처음엔 이유도 몰랐다가 출근하면서 계속 오한이 들어 이마를 만져보니 몹시 뜨거웠다. “이게 바로 몸살 감기구나!”

며칠 전부터 목이 깔깔해오더니 다시 감기가 찾아왔다. 지난번처럼 아니지만 미열을 동반하면서. 몸에 기운이 없고 약간의 통증이 느껴지는 감기.

뭐 심한 감기도 아니고 금방 낫겠지만, 노쇠기에 접어들었다는 느낌이 들어 좀 서럽긴 하다.

IBK 오픈뱅킹 사용소감

2013년 5월 14일 at 9:14 pm

Safari, Chrome, Firefox 모두 최신버전은 지원 안 해서 Firefox 20.0 을 놔두고 Firefox 14.0 을 추가로 다운로드해서 돌려야 했다. nProtect니 뭐니 하는 프로그램도 똑같이 설치하니 기분 나쁘다. 그러나 맥에서 안전하게 인터넷 뱅킹하니 참 좋다. 그러다가 우리 회사 홈페이지 들어가서 공인인증로그인 하려했더니 ActiveX 설치하라며 안 된다. 아 후졌다..

금융 앱스토어 오픈 기념 이벤트 당첨?

2013년 5월 13일 at 12:02 pm

갑자기 금융앱스토어 오픈기념 이벤트 당첨이라며 카페베네 쿠폰이 왔다. 010-9274-XXXX 에서 발송됐는데, 스미싱인 줄 알고 삭제하려했다. 그러다가 인터넷에서 찾아보니 이런 이벤트가 있긴 하나보네? 하지만 아직 믿을 수 없다. 문자 보는 것도 두려운 세상

https://www.fineapps.co.kr/event/openEventView.do?currPage=1&eventId=0000000010&eventFlag=OPEN

포스코 임원의 대한항공 승무원 폭행 사건에서 느낀 대한항공의 보안의식

2013년 4월 28일 at 11:49 pm

지난 한 주간 가장 이슈가 되었던 사건은 북한의 개성공단 폐쇄니 뭐니보다는 아무래도 포스코 계열사 왕상무의 대한항공 승무원 폭행 사건인 것 같다. 대한항공과 승객, 경찰 사이에 풀어갔어야 했을 이 사건은 대한항공에서 승무원 일지를 외부에 유출하면서 전국민의 공분을 받아 포스코는 상당한 이미지 타격을 입고 폭행한  승객은 회사를 그만두어야 했다.

포스코 왕상무는 물론 잘못을 저질렀다. 그런 사람을 임원으로 임명한 포스코도 물론 잘못했다. 거기에 포스코 왕상무가 어느 직장에나 흔하고 흔한, 권위주의에 쩐, 아랫사람을 막 대하는, 누구나 겪어봤음직한 그런 흔한 진상이라는 점 때문에 그런 진상을 겪어본 사람들 누구나 주변에 있는 다른 누군가를 떠올리며 분노했을 것이다. 하지만, 대한항공의 일지 유출은 정당했을까..?

대한항공만 겪는 문제는 아닐 것이다. 우리 회사에도 굳이 전산실까지 전화해서 욕설을 퍼붓는 고객들도 많이 있다. 그리고 이에 대한 기록도 어떤 형태로든 남기고 있기는 하다. 남겨진 기록은 훗날 우리 회사의 과실이 없음을 증명하기 위한 목적이 클 것이다. 그러나 이렇게 남긴 기록을 외부에 유출하지는 않는다. 이런 문서뿐만 아니라 회사에서 만들어진 어떠한 문서도 기본적으로 외부에 공개하지 않는다.  공개해도 되는가 공개하지 않아야 하는가 판단할 필요 없이 그냥 공개하지 않는다.

내가 서비스를 받으면서 행하는 행동들이 외부에 공개된다면? 내가 길거리에서 연인(아내)과 함께 하는 행동들(포옹이 됐건 키스가 됐건)이 CCTV 에 찍혀 인터넷에서 볼 수 있다면? 내가 은행에 가서 대출을 받고자 상담한 내역들이 인터넷을 통해 공개가 된다면? 아, 이건 공개가 되고 있는 것 같다. 예전에 마이너스 통장 만들려고 은행 몇 군데 방문해서 상담 좀 했더니 그날부터 당장 엄청난 전화/문자들이 오기 시작했으니까. 어쨌거나 우리가 잘했건 잘못했건간에 우리의 행동은 불필요하게 공개될 필요가 없다. 법에 따라 재판을 받으면 되지 인민재판을 받을 필요는 없다.

대한항공이 그렇다고 해서 모든 것을 공개하는 투명한 회사일까? 과거 나는 뉴욕에서 대한항공 비행기에 탑승하여 한국으로 돌아올 때 황당한 경험을 했던 적이 있다. 정상적으로 비행기표를 발급받아 비행기에 탑승하다가, 내 티켓을 본 어느 승무원이 내 앞에서 다른 여승무원에게 무언가 험하게 말하고, 나를 그냥 탑승시키면 안 된다고 하고, 그 여승무원은 나에게 저쪽 검색대로 가라고 하고, 검색대에 가서 상황을 얘기했더니 다시 공항 밖으로 나가라고 하고, 공항 밖으로 나갔더니 대항항공 부스는 철수하고 없고. 어쩌란 소린가? 나중에 알고 보니 내 티켓이 좀 더 강화된 보안이 필요한 티켓인 것 같고, 그래서 뭔가 다른 절차가 필요했던 것 같긴 한데, 어떤 설명도 없이 나를 내보내니 내가 어떻게 알겠는가. 아무튼, 그 건은 나와 대한항공 사이에 풀었다. 한국에 돌아와서 대한항공 사이트에 민원을 넣었고, 거기에 대해 대한항공은 이런 케이스를 문서화하여 사내에 배포했다는 응답을 주었다. 항공사 입장에서는 당연히 외부에 공개될 사안이 아니고, 외부에 공개되면 항공사측의 이미지만 갉아먹을 것이다.

아마도 해당 비행기의 승무원 중 한 명, 혹은 관계자 중 한 명이 화가 나서 인터넷을 통해 유포했을 것이다. 경찰이 유포하기에는 매우 빨랐으니까. 그런 일은 항공사와 승객, 경찰 사이에 풀면 안 되나? 꼭 그런 일들 하나 하나를 인터넷이라는 공개적인 장으로 끌고 나와서 인민재판을 해야 하나? 인터넷이라는 게 그런 분노 폭발의 바다는 아니지 않은가.

안드로이드 모바일 백신 애플리케이션, 앱에 내장 or 외부 다운로드?

2013년 4월 24일 at 3:32 pm

안드로이드는 구글 플레이에서 다운받는 방법 외의 방법으로 애플리케이션을 설치할 수 있으며 아이폰에 비해 폰의 기능을 관대하게 애플리케이션에 허용하는 편이기 때문에 많은 멀웨어와 유통경로가 존재한다. 그리고 멀웨어 중 일부는 폰의 exploit을 이용하여 자신의 권한을 상승시키고(루트 권한 획득) 이를 이용해 타애플리케이션의 활동을 감시한다.

이로 인해 조심해야 할 부분 중 하나가, 금융거래 애플리케이션이 공인인증 로그인을 하는 과정이 감시당하지 않도록 하는 것이다. 공인인증 로그인 절차를 멀웨어가 감시할 경우 공인인증서와 함께 패스워드를 유출시킬 수 있다(꼭 감시해야만 패스워드를 알아낼 수 있다고 말하진 않겠다). 이 때문에 공인인증 로그인이 들어갈 경우 앱의 위변조 체크 외에도 해당 앱에서 멀웨어가 동작중인지, 폰이 루팅되지 않았는지 등의 확인 작업이 필요하다(강제사항이라고 말하진 않겠다).

이때 앱에 모바일 애플리케이션을 내장하기 위한 방법으로 앱 자체에 백신 엔진을 포함하는 방법과 앱 최초 실행시 구글 플레이 스토어에서 다운 받는 방법이 있다. 이 두 가지 방법을 비교해보자.

 

백신 엔진 내장 방식
장점 단점
  • 백신을 별도로 다운 받을 필요가 없다.
  • 백신의 엔진이 업데이트될 경우 그 엔진을 내장한 애플리케이션도 함께 업데이트하여 스토어에 업로드해야한다.
  • 앱 로딩시 백신이 함께 구동될 필요가 없어 시작 시간이 단축된다.
  • 백신 엔진 업데이트시마다 애플리케이션을 다시 (자체) 검수해야 한다.
 
  • 백신의 엔진 업데이트 후 애플리케이션 업데이트까지는 시간이 걸린다. 이 시간차를 이용한 공격(zero-day attack)에 속수무책이 된다.

 

마켓 다운로드 방식
장점 단점
  • 애플리케이션이 백신과 API 를 통해서만 연계되므로 백신 업데이트로 인한 유지보수가 불필요하다.
  • 애플리케이션 최초 구동시 구글 플레이스토어로 이동, 백신 다운로드 및 설치 과정이 필요하다.
 
  • 고객이 백신을 삭제했을 경우 다음번 구동시 구글 플레이스토어로 이동, 백신 다운로드 및 설치 과정이 필요하다.

이외에도 국민은행 앱처럼 백신을 구글 플레이가 아닌 자체 사이트에서 다운로드받도록 하는 방법이 있는데, 이는 구글 플레이의 가이드라인에 위배되니 참고하자. 이유는 아마 보안상의 이유가 주일 것이며, 그 외에도 부분유료 앱의 결제경로 등 몇몇 문제가 얽혀있을 것이다.

자바 소스에서 SQL 문장의 주석을 // 에서 /* 로 변경

2013년 4월 12일 at 5:13 pm

자바 소스에 String 으로 들어가있는 SQL 문장에 상당히 많은 사람들이 \n 을 붙인다.

\n 을 붙이면 테스트계에서야 로그 파일 보면 내가 원하는 쿼리만 눈에 보기 좋게 나오니 좋겠지만,

로그 파일의 아무데나 엔터가 들어가있어 로그 정규화가 안 돼 로그 분석이 힘들고,

운영계에서 특정 고객에 대한 처리 쿼리를 추적하기 위해

tail -f logfile | grep 고객번호 … 와 같이 쿼리를 할 때.. 달랑 쿼리의 SELECT 행만 나온다.

그렇다고 무턱대고 \n 을 없애면 중간에 있는 — 이하가 모두 주석이 되어 에러가 난다.

아래와 같은 정규식을 이용하자.

— 1 차 주석 포함 부분만

Find : “\\n(.*)–(.*)”

Replace with : ” $1 /* $2 */ “

— 2 차 주석 포함 부분 제외하고

Find : “\\n

Replace with : ” 

이 경우, /* */ 로 주석처리된 쿼리들에 문제가 있을 수 있는데 이클립스에서 에러 표시나니까 그때 그때 처리하자!