Time for Security

블로그 이미지
제가 교육을 받으며 이해한 보안 지식을 복습하고, 정리해가는 작은 블로그입니다.
by 하꼬방
  • Total hit
  • Today hit
  • Yesterday hit

'한국정보기술연구원'에 해당되는 글 78건

  1. 2017.11.25
    2017.11.22 교육 86일차 - 프로젝트 2일차
  2. 2017.11.22
    2017.11.21 교육 85일차 - 프로젝트 1일차
  3. 2017.11.20
    2017.11.20 교육 84일차 - 프로젝트 착수 보고서 재발표
  4. 2017.11.17
    2017.11.17 교육 83일차 - 프로젝트 착수 보고서 발표
  5. 2017.11.17
    2017.11.16 교육 82일차 - 함수를 이용한 안티 디버깅
  6. 2017.11.16
    2017.11.15 교육 81일차 - 안티 디버깅
  7. 2017.11.14
    2017.11.14 교육 80일차 - 패킹 & 언패킹
  8. 2017.11.14
    2017.11.13 교육 79일차 - 동적분석
  9. 2017.11.10
    2017.11.10 교육 78일차 - 시저암호 리버싱
  10. 2017.11.09
    2017.11.09 교육 77일차 - 리버싱

 이 날 역시 프로젝트의 연속이였습니다.


 오랜만에 포스팅?을 늦게 하게 되었는데요.


 사실 거의 이번주부터는 팀 별 프로젝트만 진행하기 때문에 딱히 교육의 내용이 없기 때문입니다.


 이쯤에서 교육에 관한 내용은 포스팅을 그만할까도 생각해보았는데요.


 며칠 남지 않았기 때문에 별 내용이 없더라도 계속 진행해보기로 했습니다.


 프로젝트는 어떻게 어떻게 조금씩 진행되어가고 있는 것 같습니다.


 다음 주는 보고서를 작성하는데 시간을 주로 투자해야 하기 때문에 정말 이번 주 안으로는 개발을 끝마쳐야할 것 같습니다. 

AND

 이 날은 커리큘럼 상 공식 프로젝트 1일차 였습니다.


 원래 커리큘럼과 조금 바뀌어 화요일부터 시작됐네요.


 대부분의 반들은 공식 프로젝트 기간이 2주 입니다.


 NCS 반들은 4주 정도 되는 것 같더라구요.


 아시겠지만 2주안에 완성될 수 있는 프로젝트는 없기 때문에 이 전 부터 수업이 있어도 프로젝트 얘기를 미리 해놨어야 합니다.


 정말 힘겹고, 버거워요. 


 현재는 모든 팀이 거의 비슷한 정도의 완성도를 갖추고 있는 것 같습니다.


 발표날에 모두 잘 발표할 수 있도록 프로젝트가 잘 완성 되었으면 좋겠습니다.

AND

 어느 덧 날짜를 세고 있지 않았지만 오늘에서야 보니 84일차군요.


 96빼기 84는 12입니다.


 대략 2주 정도 남았네요.


 이제 진짜 다 끝난 느낌이에요.


 그도 그럴 것이 이번 주부터는 이제 새로운 교재라든지 배우는 과목이 없습니다.


 정해진 팀대로 쭉 개발을 이어나가면 되거든요.


 물론, 수료 이틀 전에 프로젝트 발표를 하고, 하루 전에는 면접 관련 교육을 받으며, 수료 당일 날에는 인성 교육을 받긴 합니다.


 하지만 그 전까지는 이제 특별한 수업은 없습니다. 


 뭔가 시원하면서도, 답답한 느낌이네요.


 저번 주에 참 많은 이유로 지적을 받았었는데, 오늘은 지적을 많이 줄였습니다.


 저희 팀과 다른 4개 팀도 2주동안 더 열심히해서 좋은 성과를 낼 수 있었으면 좋겠습니다. 

AND

 오늘은 원래 악성코드 분석이였으나 다음주부터 프로젝트 개발 주이기 때문에 겸사겸사 착수 보고서 발표를 했습니다.


 저희 반은 총 5팀이었는데요.


 3명, 4명, 4명, 5명, 5명 이렇게 구성되었어요.


 강사님들이 말씀하시기로는 5명 이하가 가장 적당하다고 하시더라구요.


 저희 팀은 4명으로, 블럭체인 기반 디지털 컨텐츠 거래소 개발을 프로젝트로 선정했습니다.


 정해주는 주제는 없고, 팀끼리 회의를 통해 정하는 거예요.


 저희는 10월 말부터 프로젝트 주제에 관해 얘기를 나눴었었습니다.


 주제는 계속해서 수정되고, 크게는 바뀌기도 하더라구요.


 착수 보고서를 발표하면서 잘 못 설정된 점, 그리고 다 알았다고 생각했는데 막상 설명하려니 어려웠던 점 등 많은 부분이 있었습니다.


 착수 보고서 발표가 스트레스였지만 딱 적절한 시기에 했다고 생각되네요.


 사실, 어제 KITRI 3반이 모여서 연합 회식을 했는데, 발표가 오늘이라 스트레스 받았던 부분은 안비밀 입니다.


 다음주 부터는 정말 본격적으로 프로젝트 작업에 착수하게 될 것 같습니다!

AND

 이 날에는 함수를 이용해서 안티 디버깅을 해보았습니다.


 CheckRemoteDebuggerPresent()와 ZwQueryInformationProcess()를 사용해보았는데요.


 처음엔 잘 되지 않았습니다.


 하지만 나중에는 안티 디버깅이 되었고, 신기했어요.


 악성코드 분석 과목은 이름만 재밌지, 역시 힘든 과목 같습니다. 

AND

 이 날엔 안티 디버깅에 대해 교육 받았습니다.


 안티 디버깅이란 쉽게 말해서 프로그램의 내부 알고리즘이나 데이터 등을 분석하지 못하도록 만드는 것이 목적입니다.


 말만 들어도 벌써 어렵습니다.


 이 안티 디버깅을 잘 하기 위해서는 2가지가 필수라고 하는데요.


 바로, TEB와 PEB입니다.


 TEB는 유저 레벨의 스레드 정보를 가지고 있는 구조체이며,


 PEB는 유저 레벨의 프로세스 정보를 가지고 있는 구조체입니다.


 하루만에 습득은 불가능한 부분 같네요... 


 그리고 WinDbg라는 툴을 사용해 보았습니다.


 윈도우의 커널 디버깅을 할 수 있는 툴이었는데요.


 응용 프로그램, 커널 모드 드라이버 등을 디버깅 해볼 수 있었습니다.

AND

 오늘은 패킹과 언패킹에 대해 배웠습니다.


 패킹이란 압축의 개념이라고 보시면 편할 것 같아요.


 모두 100여 가지의 패커가 존재한다고 해요.


 순수 목적의 패커는 UPX, ASPack 등이 있고, 분순한 목적의 패커는 Upack, PESpin 등이 있다고 하네요.


 해커가 좋지 못한 의도로 패킹을 하는 경우는 리버싱 방해 기술이 될 수 있다고 합니다.


 원래는 프로텍터의 개념으로 크래킹을 방지하고, 코드 및 리소스를 보호하는 역할을 하겠지만 해커의 손에서는 악성코드의 분석을 방해하기에 충분하다는 생각을 했습니다. 


 패킹 여부의 판단으로는 문자열을 판별하거나, 엔트리피를 판별하는 방법이 있는데요.


 엔트리피까지 판단하기에는 너무 머리가 복합할 것 같아요.


 이제 강의는 3일 밖에 남지 않았네요.

AND

 어제는 악성코드 분석 강의가 시작되었습니다.


 말씀드린대로 마지막 강의입니다.


 다음주 부터는 프로젝트 주입니다.


 동적분석이란 악성코드를 직접 실행하여 악성코드의 행동을 추적하던지 악성코드의 실행 전과 실행 후의 변화를 하는 것입니다.


 악성코드 행동 추적 프로그램으로는 sysAnalyzer, CaptureBAT 등이 있으며,


 실행 전과 실행 후 비교 프로그램으로는 SystemExplorer가 있습니다.


 어셈블보는 것도 힘들었는데, 이것 역시 힘드네요.


 이 외에도 가상환경 Sandboxie, bsa, zerowine등을 사용해보았습니다.


 말로만 듣던 샌드박스를 사용해보아 신기했습니다.


 귀엽게 생긴 인터페이스였습니다.


 마지막 주인 만큼 집중해 들어봐야겠습니다. 

AND

 오늘은 2주 동안 계속 되었던 리버스 엔지니어링의 마지막 날이었습니다.


 피카츄 배구를 리버싱 할 줄 알았지만 아직 저희들의 실력으로는 무리였나 봅니다...


 마지막 쯤에는 어떻게 피카츄 배구를 리버싱 할 수 있을 지 도움을 주시긴 했지만요.


 오늘은 금요일이기도 하기 때문에 테스트가 있었습니다.


 그 테스트는 바로 시저암호를 리버싱하는 거였는데요.


 시저암호라고 말씀까지 해주셨지만 암호 키 및 평문을 찾는 것은 어려웠습니다.


 알려줘도 어려운데 안 알려주고 리버싱을 시작한다면 얼마나 어려울까요? 


 실제로 리버싱 대회가 있다고 하는데요.


 5시간 동안 분석을 한다고 하네요.


 지금 저희 분석 코드는 스택도 정돈되어 있고, 길어야 100줄도 안되는 코드들인데,


 대회는 완전 다르겠죠?


 개인적으로는 지금까지 배웠던 수업 중에서는 가장 재밌었습니다.


 강사님도 가장 좋으 신 분이라고 생각되구요.


 벌써 교육 기간이 끝나는 게 아쉬울 따름이네요. 


 풀 출석을 했다면 오늘은 80퍼센트가 넘는 날입니다.


 정말 빠르게 진행 된 것 같아요.


 다음주는 마지막 강의가 진행되는 주 입니다.

AND

 오늘은 본격적인 리버싱을 해보았습니다.


 crackme 라는 exe 파일이 단계 별로 있는데요.


 exe 하나 밖에 없는 파일이지만 이 파일을 올리디버거로 열어 하나씩 하나씩 어셈블리어를 따라가보며 풀어보는 문제입니다.


 어떤 느낌이냐면 한 문제를 받았을 때 전혀 모르겠다가, 설명을 듣고 나면 이해를 해요.


 이제 다음 문제는 풀 수 있을 것 같다는 생각을 하게되고, 다음 문제를 받아요.


 다음 문제 역시 전혀 모르겠다가, 설명을 듣고 나면 이해를 하게 되는 무한 루프 속에 빠지게 됩니다.


 신기해요 참. 


 하지만 이런 과정이 반복되다 보면 언젠가 이 무한 루프를 끊을 수 있겠죠?


 내일이 벌써 마지막 날이 되는 데요.


 피카츄 배구를 리버싱해보게 될 것 같습니다.


 기대되는 시간이에요~

AND

ARTICLE CATEGORY

전체 (115)
블로그 소개 (1)
KITRI 교육 (95)
보안 지식 창고 (16)
한 잔의 여유 (2)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

ARCHIVE