2/08/2017

[SECURITY] System Security Questions & Answer

오늘은 toptal에서 온 "Essential System Security Interview Questions" 란 주제를 볼까합니다. 시스템 보안에 대한 인터뷰식의 질의응답입니다. (요런 방식의 글도 괜찮네요)

제 포스팅답게 직접 답을 달아볼까 합니다. 질문에 대해 한번 고민해보시는 것도 좋을 것 같네요. 질문에 대해 좋은 생각이 있으시면 댓글로 남겨주세요~

This article was written in collaboration with "Toptal".

9 Essential System Security Interview Questions

1. What is a pentest?
2. What is social engineering?
3. You find PHP queries overtly in the URL, such as /index.php=?page=userID. What would you then be looking to test?
4. You find yourself in an airport in the depths of of a foreign superpower. You’re out of mobile broadband and don’t trust the WI-FI. What do you do? Further, what are the potential threats from open WI-FIs?
5. What does it mean for a machine to have an “air gap”? Why are air gapped machines important?
An air gapped machine is simply one that cannot connect to any outside agents. From the highest level being the internet, to the lowest being an intranet or even bluetooth.
6. You’re tasked with setting up an email encryption system for certain employees of a company. What’s the first thing you should be doing to set them up? How would you distribute the keys?
7. You manage to capture email packets from a sender that are encrypted through Pretty Good Privacy (PGP). What are the most viable options to circumvent this?
8. What makes a script fully undetectable (FUD) to antivirus software? How would you go about writing a FUD script?
9. What is a “Man-in-the-Middle” attack?

https://www.toptal.com/security/interview-questions

1. What is a pentest?

pentest란 무엇일까요? 라는 질문이죠. PENETRATION-TEST 즉 침투 테스트를 의미하고 보안적인 관점에서 굉장히 좋은 대비책이라고 생각됩니다. 방어만이 전부는 아니죠. 공격을 통한 방어로 미리 예방하는 것도 매우 중요합니다.
공격자를 잘 아는건 공격자입니다 :)

2. What is social engineering?

소셜 엔지니어링이란 번역하자면 사회공학기법을 이야기합니다. 보안의 가장 큰 홀은 사람이라고 하죠.
기술적인 접근성보단 사람적인 접근으로 공격하는 방법입니다. 대표적으로 피싱이 있습니다.
작년 여름쯤에 작성했던 내용인데 참고해보시면 좋을 것 같네요. http://www.hahwul.com/2016/04/hacking-social-engineering-attack.html

3. You find PHP queries overtly in the URL, such as /index.php=?page=userID. What would you then be looking to test?

음.. 저의 웹 해킹 철학은 단순합니다. 그저 input-output 과의 관계를 보려고하겠지요 :)


4. You find yourself in an airport in the depths of of a foreign superpower. You’re out of mobile broadband and don’t trust the WI-FI. What do you do? Further, what are the potential threats from open WI-FIs?

공개 WI-FI는 굉장히 위험합니다. 일단 통신에 대해 SSL과 같이 별도의 암호화가 없는 경우에 동일 네트워크에 있는 공격자에게 내용을 도청 당할 수 있고 패킷의 흐름을 틀어 변조된 사이트를 신뢰받는 사이트로 위장시킬 수 있습니다. 여러가지 공격 루트가 존재하며, 이는 사용자를 타겟으로 한 공격 시나리오가 많을 것 같네요.

5. What does it mean for a machine to have an “air gap”? Why are air gapped machines important?

CVSS에서도 접근의 범주에 따라 취약점의 등급이 달라집니다. 그만큼 이 대상의 접근성이 어느정도인가가 중요한 것이고 분리되지 않은 네트워크에 중요한 데이터가 존재한다면 탈취 당할 가능성이 높아지게 되겠죠. 논리/물리적인 분리 모두 효과가 있는 대책이라고 봅니다.

6. You’re tasked with setting up an email encryption system for certain employees of a company. What’s the first thing you should be doing to set them up? How would you distribute the keys?

질문에 중요한 부분이 있듯이 어떻게 키를 배포하는가는 굉장히 중요합니다. 튼튼한 알고리즘은 많지만 그 키를 관리하고 전달하는 과정이 굉장히 까다롭겠지요. 만약 정말 일부 사람만 알아야하는 기밀 정보라고 할 때 저라면 키 교환 과정에 대해 물리적으로 처리할 것 같네요.
약간 Lavabit의 Paranoid Mode 같은 느낌이랄까요?
(http://www.hahwul.com/2017/01/hacking-lavabit-encrypted-email-service.html)

7. You manage to capture email packets from a sender that are encrypted through Pretty Good Privacy (PGP). What are the most viable options to circumvent this?

높은 키의 암호화가 되어있다면.. 과감히 통신의 흐름안에서 찾아보려고 할 것 같습니다. 저는 암호문이 풀리는 구간이 제일 탐나네요.
원글에서도 비슷한 뉘양스의 답변인 것 같네요.

First, one should be considering whether to even attempt circumventing the encryption directly. Decryption is nearly impossible here unless you already happen to have the private key. Without this, your computer will be spending multiple lifetimes trying to decrypt a 2048-bit key. It’s likely far easier to simply compromise an end node (i.e. the sender or receiver). This could involve phishing, exploiting the sending host to try and uncover the private key, or compromising the receiver to be able to view the emails as plain text.

8. What makes a script fully undetectable (FUD) to antivirus software? How would you go about writing a FUD script?

갑자기 FUD가 나와서 당황스럽네요.. 아마 대부분 비슷한 뉘양스로 피해가지 않을까 싶습니다. 패턴이나 통계를 이용한 탐지에는 규칙이 존재합니다. 취약점을 우회하듯이 탐지 규칙에도 헛점은 있고 이를 잘 활용한다면 쉽게 피해갈 수 있는 FUD가 되지 않을까 싶네요.
이건 보안쪽 하시는분들이 FUD Script 작성에는 유리할지도 모르겠네요 :)

9. What is a “Man-in-the-Middle” attack?

마지막으로 MITM은 공격자가 통신 포인트 사이에서 스니핑/변조하는 공격을 의미합니다. 한글로 중간자공격으로 불리죠.
https://ko.wikipedia.org/wiki/%EC%A4%91%EA%B0%84%EC%9E%90_%EA%B3%B5%EA%B2%A9

쉬운거니 패스!

Toptal collaboration

This post originally apperared in Toptal
(https://www.toptal.com/security/interview-questions)

Reference 

https://www.toptal.com/security/interview-questions
http://www.hahwul.com/2017/01/hacking-lavabit-encrypted-email-service.html
https://ko.wikipedia.org/wiki/%EC%A4%91%EA%B0%84%EC%9E%90_%EA%B3%B5%EA%B2%A9
http://www.hahwul.com/2016/04/hacking-social-engineering-attack.html


HAHWUL

Security engineer, Gopher and H4cker!

Share: | Coffee Me:

0 개의 댓글:

Post a Comment