카테고리 없음

[CS/기술면접] 보안 관련 문제

보리시스템 2023. 4. 19.
보안 (Security)과 관련된 문제들은 어떤 것이 있나요?

 

  • [2023.04.21.금] 멘토링 (박세명 기술 멘토님)
    • 보안 (Security)과 관련된 문제들은 어떤 것이 있나요?
      • 백엔드 관련으로는
      • HTTPS, SQL INJECTION, 악성 스크립트
      • 인증, 인가
      • CSRF (Cross-Site Request Forgery)
      • XSS (Cross-Site Scripting):
    • 중복 로그인 못하게
      • 세션 방법도 있지만
      • 로그인 기록을 이용해서 할 수도 있고
      • AWS의 코드니터라는 솔류션을 쓸 수도 있음 - 중복 로그인
      ⇒ 보안, 사용자 편의성 중에 뭘 중요시 하는지에 따라 결정할 수 있겠음   
  • 로그아웃 했으면 쿠키 삭제하게 해야 함
  • 최근 보안 문제의 해결점은 무엇이라고 생각하나요?에 대한 적절한 답변 뭘지?
    • 최신 버전이 마냥 좋지만은 않을 수 있다 ⇒ 최신 라이브러리의 보안 취약점 (패치 되기 전)
      • 누군가 뚫었다 근데 발견됐으면 벌써 뚫린 거다
      • 패치를 받는 게 방법 말고는 없음
      • 최근 예로는 북한에서 해킹 ⇒ 최근 보안 문제점
        • 해결 방법은 이걸 삭제하거나 최신 꺼를 패치하거나

최신 랑

 

1. 한마디 정리

1) 사이버 보안 문제

사이버 보안 문제로는 맬웨어, 랜섬웨어, 피싱,  DoS(서비스 거부 공격), DDoS(분산 서비스 거부 공격) 등이 있습니다.

https://www.hpe.com/kr/ko/what-is/cybersecurity.html

 

사이버 보안이란? | 용어 해설

사이버 보안은 IT 인프라를 악의적인 디지털 위협으로부터 보호하기 위해 사람, 규정 및 여러 기술을 일방적으로 적용하는 것을 의미합니다. | HPE 대한민국

www.hpe.com

 

2) 웹 보안 지식

1. HTTPS (HyperText Transfer Protocol over Secure socket layer)
- 웹 데이터를 전송하는 프로토콜인 HTTP의 보안 버전
 : 웹 사이트 사용자의 신용카드 번호 등 중요한 데이터를 안전하게 전송
 : SSL을 이용하여 서버와 브라우저 사이의 암호화된 연결을 지원
 
2. 콘텐츠 보안 정책 (CSP, Content-Security-Policy)
- 일반적인 웹 취약점이나 XSS에 대해 애플리케이션을 안전하게 보호하기 위해 고안된 보안 계층
 : Content-Security-Policy HTTP 응답 헤더를 설정하여 사용
 : 스크립트 및 이미지와 같은 외부 리소스를 안전하게 로드 하도록 지원
 : 모든 리소스 요청을 HTTPS 등으로 투명하게 업그레이드
 
3. 교차 출처 리소스 공유 (CORS, Cross-Origin Resource Sharing)
- 추가 HTTP헤더를 사용하여 한 출처에서 실행중인 웹 페이지가 다른 출처의 자원에 접근할 수 있는
  권한을 부여하도록 브라우저에 알려주는 체제
 : 리소스가 자신의 출처와 다를때 교차 출처 HTTP 요청을 실행
 : 다른 도메인의 리소스를 요청할 수 있도록 허용하는 정책
 
- 관련 개념
 ㆍ출처 (origin)
   : 도메인, 프로토콜, 포트
 
 ㆍSOP (Same-Origin Policy)
   : 같은 출처에서만 리소스를 공유할 수 있는 정책
 
4. SSL (Secure Socket Layer)
- 웹 사이트와 브라우저 (혹은 서버) 사이에 전송된 데이터를 암호화 하여 인터넷 연결 보안을 유지하는 기술 표준
 : 인증되지 않은 사용자로부터 세션 중에 교환된 데이터를 보호
 : TCP/IP 및 응용프로그램계층 사이에 구현된 공개키 암호를 사용한 보안 기술
=> IEFT(국제 인터넷 표준화 기구)에 의해 TLS로 표준화
 
5. TLS (Transport Layer Security)
- 모든 종류의 인터넷 트래픽을 암호화하는 기술표준
 : SSL/TLS로 많이 사용
 : 브라우저 주소창에 https와 자물쇠 모양이 있는 경우 TLS를 통해 연결되어 있음을 의미
 : 이메일, 유즈넷 등에서 사용 
 
6. SSL/TLS
- 클라이언트 / 서버 간 통신을 암호화하는 기법
 : 전송계층 프토콜이며 HTTP나 FTP 등의 응용계층 프로토콜과 조합하여 사용
 : 인증기관(CA)가 발행하는 서버 인증서를 사용 
 
※ 서버인증서
  : 서버의 신뢰성을 증명하기 위한 디지털 데이터
  : 서버의 공개 키와 사용자의 정보가 합쳐져 있는 데이터
 
7. OWASP (The Open Wen Application Security Project)
- 웹에 관한 정보 노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 오픈소스 웹 애플리케이션 보안 프로젝트
 : OWASP TOP 10을 발표
 
- OWASP TOP 10 (2021 기준)
 ㆍInjection (인젝션)
 ㆍBroken Authentication (취약한 인증)
 ㆍSensitive Data Exposure (민감한 데이터 노출)
 ㆍXML External Entities (XXE) (XML 외부 개체)
 ㆍBroken Access Control (취약한 접근 통제)
 ㆍSecurity Misconfigurations (잘못된 보안 구성)
 ㆍCross-Site Scriping (XSS) (크로스 사이트 스크립팁)
 ㆍInsecure Deserialization (안전하지 않은 역 직렬화)
 ㆍUsing Components with Known Vulnerabilities (알려진 취약점이 있는 구성요소 사용)
 ㆍInsufficient Logging and Mornitoring (불충분한 로깅 및 모니터링)

https://2mukee.tistory.com/120

 

[백엔드 개발자 로드맵 2020] 웹 보안 지식

HTTPS (HyperText Transfer Protocol over Secure socket layer) - 웹 데이터를 전송하는 프로토콜인 HTTP의 보안 버전 : 웹 사이트 사용자의 신용카드 번호 등 중요한 데이터를 안전하게 전송 : SSL을 이용하여 서버

2mukee.tistory.com

 

2. 내가 생각한 꼬리질문

1) 맬웨어, 랜섬웨어, 피싱,  DoS(서비스 거부 공격), DDoS(분산 서비스 거부 공격)에 대해 설명해주세요

1. 맬웨어
장치나 시스템을 감염시키고 핵심 파일 및/또는 프로그램을 삭제하여 정상적으로 작동하지 못하도록 설계된 소프트웨어의 한 형태입니다.

2. 랜섬웨어
정보에 액세스한 다음 복잡한 암호화를 사용하여 데이터, 애플리케이션 또는 시스템 전체를 잠그는 맬웨어의 공격적인 침투 버전이며 보통 갈취의 형태로 발생합니다.

3. 피싱
합법적인 커뮤니케이션을 모방한 이메일이나 문자를 통해 자발적인 개인에게서 암호나 개인 정보(예: 주민 등록 번호, 은행 계좌 번호, PIN 등)와 같은 사용자 데이터를 얻어내는 시도입니다.

4. DoS(서비스 거부 공격)
엔터프라이즈 수준 시스템을 오버런하여 서비스 요청에 지장을 주거나 중단시켜 사용자가 인터넷에 연결된 리소스를 사용하지 못하게 하는 사이버 전술입니다.

5. DDoS(분산 서비스 거부 공격)
DoS 공격과 비슷하지만 규모가 더 크고 사이버 범죄자들이 장치 또는 봇 시스템을 사용하여 네트워크에 연결된 리소스 전반에서 엔터프라이즈 인프라에 부담을 줍니다.

 

2) 사이버 보안 기술로는 어떤 것이 있나요?

사이버 보안은 산업마다 차이가 있습니다. 컴플라이언스와 같은 특정 조건이나 다른 형태의 규정도 엔터프라이즈의 사이버 보안 접근 방식 결정에 영향을 줍니다. 예를 들어, 정부와 계약을 체결한 기업은 클라우드가 아닌 고도로 억제된 온프레미스 IT 환경에서 특정 리소스를 보호해야 하지만 다른 산업 분야는 더 유연할 수 있습니다.

일반적으로 사이버 보안에는 몇 가지 기존 기술과 새로운 기술이 사용됩니다. AI(인공 지능), ML(기계 학습)과 같은 보호 수단실시간 위협 탐지를 지원하며, 데이터 분석을 사용하여 피해를 입기 전에 침해를 식별하여 알림을 제공하고 해결할 수 있습니다. 이와 마찬가지로 동작 분석은 사용자가 디지털 환경에서 행동하고 이동하는 방식을 학습하고, 학습한 정보를 사용하여 예정된 또는 진행 중인 공격을 의미할 수 있는 이상 현상을 식별합니다.

더 발전된 예시로는 블록체인, 제로 트러스트 프로토콜, 클라우드 암호화 등이 있습니다. 각 방식은 정보에 대한 액세스 방지 또는 제한과 관련이 있습니다.

1) 특히 블록체인은 데이터를 블록에 저장하고 암호화를 통해 연결합니다. 저장된 후에는 데이터의 변경 또는 삭제가 불가능합니다. 

2) 제로 트러스트는 사용자가 자격 증명을 검증해야 하는 다단계 인증 형태로서 시스템에 대한 광범위한 액세스를 제한합니다.

3) 클라우드 암호화는 판독 가능한 정보를 판독 불가능한 코드로 전환하고 클라우드에 저장하며, 적절한 암호화 키를 보유한 사용자가 액세스해야 합니다.

 

3. 스터디원 꼬리질문