정보시스템감리사/보안

[감리사] [2021년 기출풀이] [보안] 101번

learning aid 2022. 5. 15. 12:38

101. 다음에서 설명하는 것으로 가장 적절한 것은?

장치나 시스템 구조를 분석하여 원리를 발견하는 과정을 의미하며, 이미 만든 프로그램의 동작원리를 이해하여 유사한 프로그램을 만드는 데 사용하기도 하고 프로그램의 보안 문제, 동작 문제, 오류 등을 제거/검토하는데 사용하기도 한다.

 

① 백도어(backdoor)

포맷 스트링(format string)

문맥교환(context switching)

리버스 엔지니어링(reverse engineering)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[해설]

▣ 리버스 엔지니어링(reverse engineering)

1) 기본 개념

  • 역공학이라 번역되며, 장치나 시스템의 구조를 분석하여 원리를 발견하는 과정을 말함
  • 상업적이나 군사적으로 하드웨어를 분석하는 것에서 시작됨
  • 또한, 어떤 대상을 생산하기 위한 지식이나 절차가 거의 없는 상태에서 최종 제품을 통해 설계하는 과정을 역추론하는 것이 리버스 엔지니어링의 목적임

2) 리버스 엔지니어링 공격

  • 공격자는 공격대상 시스템 또는 응용프로그램에 대한 분석을 수행
  • 분석 후 해당 시스템이나 응용프로그램이 갖고 있는 취약점을 찾을 수 있으며 이 취약점을 공격할 수 있는 코드를 생성 가능

3) 대응책

  • 난독화 : 프로그램 코드를 읽기 어렵게 함(소스코드 난독화, 바이너리 난독화)

 

▣ 그 외 문제에서 제시된 용어

  • 백도어 : 인증되지 않은 사용자에 의해 컴퓨터의 기능이 무단으로 사용될 수 있도록 컴퓨터에 몰래 설치된 통신 연결 기능으로서, 정상적인 인증 절차를 거치지 않고 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 방법
  • 포맷 스트링 : 데이터의 형태와 길이에 대한 불명확한 정의로 인한 문제점, 포맷 스트링을 이용하여 버퍼 오버플로우와 같이 메모리에 셸을 띄워 놓고, ret 값을 변조하여 관리자 권한을 획득하는 것
  • 문맥교환 : 하나의 프로세스가 사용 중인 상태에서 다른 프로세스사용하도록 하기 위해, 이전의 프로세스의 상태(문맥)를 보관하고 새로운 프로세스의 상태를 적재하는 작업

 

[관련 기출] – 국가공무원 9(정보시스템 보안) 2020

5. 리버스 엔지니어링에 대한 설명으로 옳지 않은 것은?

① 안티 디버거는 안티 리버싱의 방법이다.

② 안티 리버싱은 리버스 엔지니어링을 쉽게 만드는 기술이다.

③ 리버스 엔지니어링에서 이용하는 도구는 OlyDbg IDA가 있다.

④ 완성된 소프트웨어를 역으로 분석하는 방법이다.

반응형