202401to07
  • 2024.06.07.보안 day44
    2024년 06월 10일 09시 12분 43초에 업로드 된 글입니다.
    작성자: 202401to07

    (금) 휴가

     

    OWASP(The Open Web Application Security Project)  ver2017

    오픈소스 웹 애플리케이션 보안 프로젝트
    웹에 대한 위험성을  10대 웹 애플리케이션의 취약점 (OWASP TOP 10)으로 하여 3~4년마다 발표.

    A1
    Injection (인젝션)
    SQL, OS, XXE(Xml eXternal Entity), LDAP 인젝션 취약점
    예상치 못하는 SQL 명령이나 쿼리를 보내 데이터에 접근하는 방법
    대응방안: 시큐어 코딩 , 시그니처 필터

    A2
    Broken Authentication (취약한 인증)
    인증과 세션 관리와 관련된 애플리케이션 기능을 정확하게 구현되어 있지 않음. 
    공격방법: header 에 암호 또는 정보 또는 세션토큰을 제공하는등 어플리케이션의 취약점을 통해 사용자권한 획득
    대응방안: 로그아웃에 대한 세션파기 및 일정시간되면 세션종료중복로그인방지(캡챠,OTP,이전비번), 확인을 하기 위한 인증 기능 구현

    A3
    Sensitive Data Exposure (민감한 데이터 노출)
    공격방법:주요정보 데이터들이 암호화 되지 않는 경우 인젝션이나 쿠키 획득을 통해 평문으로된 민감정보를 획득함
    대응방안: 주요정보에 대한 암호화와 사용시 복호화를 할수 있도록 수단을 강구하고 민감데이터를 캐쉬에 저장시키지 않음


    A4
    XML External Entities (XXE) (XML 외부 개체 (XXE))
    업데이트 되지 않은 오래되고 설정이 엉망인 많은 XML 프로세서들은 XML 문서 내에서 외부 개체에 대한 취약점을 가지고 있다. ( URL 링크 ,내부파일공유 , 원격실행코드 , SSRF)
    대응방안 : 프로그램 최신 업데이트 , 문서내 확인되지 않은 링크 클릭 금지 

    A5
    Broken Access Control (취약한 접근 통제)
    공격방법: 인증된 사용자에 대한 작업제한이 제대로 적용되지 않을때 이를 악용하여 사용자의 엑세스 권한 기능을 탈취함
    대응방안: 접근권한확인 및 자동화된 검증

    A6
    Security Misconfiguration (잘못된 보안 구성)
    공격방법: 어플리케이션 초기 default 계정은 보안이 취약하기 대문에 이를 이용해서 시스템권한확득(directory index등등)

    http초기보안문제: 

    1 directory index

    2 os 정보노출

    3 에러메세지 제어 (404 not found 403 forbidden  / / 200정상 300리다이렉트 400클라이언트 오류 500 서버오류 )

    대응방안: 환경에 빠르게 적응하는 보안 강화 프로세스나 설정 개발하고 프로그램은 되도록 검증된 최신버전  
    CVE, CWE ,CCE ,주통  같은 가이드 보기 


    A7
    Cross-Site Scripting (XSS) (크로스 사이트 스크립팅 (XSS))
    공격방법: 피해자의 브라우저에 스크립트를 실행하게 하여 사용자 세션탈취 및  웹사이트 변조가 가능해짐
    대응방안: java script 나 XSS에서 주로 사용되는 문자들을 막는다.

    A8
    Insecure Deserialization(안전하지 않은 역직렬화)  ( 원격 접속 프로그램 , revers_tcp RAT 공격 악성코드 , 쉘코드  )
    공격방법 : 원격에서 명령어를 쓸수 있는 구조, 권한 상승 공격, 주입 공격과 재생 공격을 포함한 다양한 공격 수행에 사용될 수 있다.
    대응방안 :  원격에 대한 허용 제한 정책 강화 , 허용된 호스트에서만 사용가능 , 불필요한 취약한 프로그램 업로드 다운로드 금지

    A9
    Using Components with Known Vulnerabilities (알려진 취약점이 있는 구성요소 사용)
    공격방법: 대부분의 소프트웨어는 관리자권한으로 실행되는데 이를 이용하여 시스템의 권한을 장악함
    대응방안: 관리자 권한 프로그램 주기적 점검 , 필요한 기능만 활성화하고 사용하지 않는 기능을들 비활성하며 업데이트를 진행

    A10
    Insufficient Logging & Monitoring(불충분한 로깅 및 모니터링)
    공격방법 : 불충분한 ,과한정보 로깅과 모니터링환경일경우 해커는 더 많은 시스템을 공격 변조 추출 파괴를 하게 됨 .
    대응방안 :  로깅과 모니터링 뿐만아니라  상시 운영 가능한 UTM 과 같은 통합보안장비를 구비 

    ===========================================================================================

     

    OWASP(The Open Web Application Security Project)  ver2021

    01 : Broken Access Control (접근 권한 취약점)
    :루트킷이나 백도어 ,  
    관리자권한이나 자동실행과같은 취약점이 노출되면서 
    이를 공격자가 이용하여 악의적인 행위를 하게됨 
    대책 :  사용자가 권한을 벗어나 행동할 수 없도록 정책을 시행합니다. 
            (추가되는 관리자 권한 확인 ,권한 제한 ) 

    A02 : Cryptographic Failures (암호화 오류)
    :평문 데이타 노출 
    Sensitive Data Exposure(민감 데이터 노출)의 명칭이 
    2021년 Cryptographic Failures(암호화 오류)로 변경
    절한 암호화가 이루어지지 않으면 민감 데이터가 노출 
    대책 : 암호화 , 문서보안 / DRM

    A03: Injection (인젝션)
    sql injection
    sql 쿼리문이 url 이나 인자값에 전달이 되면서 정보를 획득 
    대책 : sql 문의 UNION, JOIN , SELECT 등 악의적인 행위를 할수 있는 코드를 
          replace해서 공백으로 바꾸는등 시큐어 코딩 진행 , 시그니처 필터

    A04: Insecure Design (안전하지 않은 설계)
    : 보안없는 인프라 구축 :  웹방화벽 부재 , 가용성 부족, 자원집중, https가 아닌 http 운영 등등 
     누락되거나 비효율적인  제어 설계로 표현되는 다양한 취약점
    대안 : 웹방화벽 설치 , 라운드로빈과 같은 부하분산이중화 , 자원의 분산화 , https 암호화 통신  

    A05: Security Misconfiguration (보안설정오류)
    불필요한 기능이 활성화 되거나 설치되었을 때, 기본계정 및 암호화가 변경되지 않았을 때, 
    지나치게 상세한 오류 메세지를 노출할 때, 
    최신 보안기능이 비활성화 되거나 안전하지 않게 구성되었을 때 발생합니다.
    대안 : directoryindex 보안설정 , 서버시그니처 제한 , 웹페이지 출력 제한 , (DNAT) 포트변환 

    A06: Vulnerable and Outdated Components (취약하고 오래된 요소)
    취약하고 오래된 요소는 지원이 종료되었거나 오래된 버전을 사용할 때 발생합니다. 
    이는 애플리케이션 뿐만 아니라, DBMS, API 및 모든 구성요소 들이 포함됩니다. 
    대안: 프로그램 최신화 , 업데이트 

    A07: Identification and Authentication Failures (식별 및 인증 오류)
    Broken Authentication(취약한 인증)으로 알려졌던 해당 취약점은 
    identification failures(식별 실패)까지 포함하여 더 넓은 범위를 포함할 수 있도록 변경되었습니다. 
    사용자의 신원확인, 인증 및 세션관리가 적절히 되지 않을 때 취약점이 발생할 수 있습니다.
    대안 : 세션파기 , 재사용금지 , 자동 세션종료 , 비밀번호확인 절차 추가 (비밀번호확인 , OTP , recaptcha  등등)
     
    A08: Software and Data Integrity Failures(소프트웨어 및 데이터 무결성 오류)
    2021년 새로 등장한 카테고리로 무결성을 확인하지 않고 
    소프트웨어 업데이트, 중요 데이터 및 CI/CD 파이프라인과 관련된 가정을 하는데 중점을 둡니다. 
    대안 : 무결성 점검 프로세스 구현 , 직원보안교육 (체크섬 확인 )  , 검증되지 않은 프로그램 다운로드X 

    A09: Security Logging and Monitoring Failures (보안 로깅 및 모니터링 실패)
    Insufficient Logging & Monitoring(불충분한 로깅 및 모니터링) 명칭이었던 카테고리가 
    Security Logging and Monitoring Failures (보안 로깅 및 모니터링 실패)로 변경되었습니다. 
    로깅 및 모니터링 없이는 공격활동을 인지할 수 없습니다. 
    이 카테고리는 진행중인 공격을 감지 및 대응하는데 도움이 됩니다. 
    대안 : IDS , IPS ,UTM 등 보안장비 구현 

    A10: Server-Side Request Forgery (서버 측 요청 위조)
    2021년 새롭게 등장하였습니다. SSRF 결함은 웹 애플리케이션이 
    사용자가 제공한 URL의 유효성을 검사하지 않고 원격 리소스를 가져올 때마다 발생합니다.
     이를 통해 공격자는 방화벽, VPN 또는 다른 유형의 네트워크 ACL(액세스 제어 목록)에 의해 보호되는 경우에도 
    응용 프로그램이 조작된 요청을 예기치 않은 대상으로 보내도록 강제할 수 있습니다.
    Server-side Request Forgery  서버쪽에서 위조된 호출을 유도하는 공격
    CSRF 공격과 유사하게 외부 호스트를 호출하는대신 로컬호스트를 호출하여 내부적인 공격을함
    사용자의 입력값으로 URL을 받아서 처리하는 서비스의 경우 이를 이용해서 출력시킴
    file://etc/passwd 
    http://127.0.0.1/file  등과같이 로컬에 있는 서버 자원을 사용해서 
    의도된 공격행위를 함 
    대안 : 127.0.0.1 이나 localhost같은 로컬호스트 요청 부분 필터링 ,  
    허가된 url및 호스트만 사용가능 , DNAT을통한 망분리 


    네트워크 보안 : 스니핑(ARP , DNS ---),스푸핑,도스 : 네트워크 자원획득 (패킷)     / 스니핑-암호화 스푸핑-mac주소 고정
    시스템 보안 : rootkit, race condition , pwcracking : 시스템 자원획득 (시스템 계정, 권한)
    /etc/passwd   /sbin/usr/bin
    웹 보안 : xxs,session hijecking, injection,up/down load : 사용자 정보 획득


     

    면접 단골 질문

    0. POST 와 GET의 차이가 무엇일까요?


    GET: 데이터가 ?뒤에 노출됨,정해진 값을 고름 URL에 정보를 담아서 서버로 보냄, 
    POST:데이터가 body안에 숨겨,서버의 값을 바꾸기 위해 사용 http body안에 포함되서 전달

    POST 와 GET의 취약점 : XSS 공격에 취약
    보안 :  입력값 검증이나 보안라이브러리를 통해서 제한/치환 / 필터링

    ===========================================================================

    1. 쿠키와 세션의 차이는 무엇인가요?

    세션 : 서버에 저장되는 사용자 연결정보  
    쿠키 : 클라이언트에 저장되는 연결식별값(서버에서 클라이언트를 식별하는)  

    취약점 : 세션취약

    보안 : JMT
    1.중복로그인방지
    2.세션쿠키 대신 토큰방식 사용
    3.세션 재사용 금지 

    =======================================================================================

    2. 피싱,스미싱,파밍 ,큐싱 이란,

    피싱 : 상대방에게 메일 링크등을 보내 공격자가 의도한 공격 유도 
    파밍  : 실제 사이트를 위장하여 상대방이 정보입력을 신뢰할수 있도록 유도
    스미싱 : 휴대폰 문자메세지를 보내 공격자가 유도한 URL에 접속하여 정보 획득
    큐싱 : QR코드를 이용해서 웹사이트로 접속하여 개인정보 유도 


    보통 공격되는 도구
    트로이목마 (루트킷) 및 키로거 개인정보 

    ===============================================================

     

    3. HTTP와 HTTPS의 차이점?

    HTTP :   80/tcp 평문이기때문에 스니핑에 취약
    HTTPS :  443/tcp 인증서를 활용한 암호화통신을 하기때문에 보안 강화 

                    보안의 3요소 
                       기밀성 : 제3자가 내용을 알수가 없다. (암호화 통신), 
                       무결성 : hash를 사용해서 암호화가 되기때문에 위변조를 방지 (인증서 키 
                       가용성 : 기밀성와 무결성에 의해서 통신이 도중에 중단되지 않도록 보장 

    ===============================================================


    4.SQL_injection은 어느 계층에서 실행되나요>?


    web aplication 7계층


    ===============================================================


    5. xxs ,  csrf  차이점은 무엇인가요?


    xss : 클라이언트에서 실행 /스크립트 사용 (쿠키나 정보 탈취) / stord ,reflexed ,dombase,universal
    csrf : 서버에서 실행 / 서버의 기능을 활용(회원가입, 정보수정,다운로드,업로드) /스크립트는 선택적으로 사용가능 / SSRF

     

    SSRF : 서버사이드 요청위조로서 외부에서 접근 불가능한 자원을 서버쪽에서 요청하는 우회기법

    file://127.0.0.1 로컬호스트는  client와 서버 가 실행할때 
    각기 다른 컴퓨터에서 실행 

    ===============================================================

     

    6. sql injection 의 종류와 의미 서술

     

    non blind sql injection : 결과값이 출력이 됨 / error-base , query result

    blind sql injection : 결과값이 .반화되지 않아 유추하는 기법  / time-base  , boolen

     

    ===============================================================

     

    7. 2021 OWAP 10대 보안이슈 중에서 적어도 3개정도 조사하고 방어 방법 서술

     

    injection : get값이나 sql구문 삽인하는 공격 / 시큐어코딩, 보안라이브러리, 검증제한치환, 웹보안솔류션

    bronken access control : 중요한 기능을 가진 페이지에 권한이 없는 사용자가 접근이 되는 취약점

    / 중요 페이지의 입력값 검증 인증 및 접근 제어 

    security missconfigureation : 보안설정오류 , 불필요한기능이나 초기값 설정에 보안적오류 (directory index, cve취약점, 웹정보 노출) / 보안가이드 보안컨설팅 참고 

    cryptographic failures : 암호화 오류  평문노출 / 암호화 통신 및 문서보안 

     

    ===============================================================

     

    8. 최근에 유행하는 웹공격 시나리오는 무엇일까요? (보안뉴스)

     

    밀리의 서재 log4j 해킹공격 / 김수키, 안다리엘 등 북한의 해킹공격 같은

    웹상의 취약점을 파악하여 웹쉘공격 같은 원격 커맨드로 내부정보 취득 

     

    APT공격  : Advanced Persistent Threats(지능적 지속 위협)
    여러가지 방법의 공격을 시도하여 내부로 침입을 성공할 때까지  지속적으로 취약점 찾는 공격
    이를 사용해 OT영역까지 확장이 진행되고 있어 사내에서도 보안정책을 강화 시키고 있습니다.
    ex) 어? xss 보안이 발생? 그럼 여기에 트로이 목마를 심어 내서 개인정보를 빼내야지.
        엇? 막아버리네? 그럼 클릭하면 바로 암호화가 걸리는  스크립트로 랜섬웨어 걸어야지

    랜섬웨어
    클롭 (Clop) : 국내 윈도우 AD서버를 감염시킴 . 특정기관을 사칭해 악성파일(exe,doc,xls)등 첨부한 메일로 유포하여 감염
    갠드크랩(gandcrab) : 러시아에서 발견된 랜섬웨어 대량으로 인터넷 및 특정기관 사칭 유틸리티

                                             (microsoft office , windows) 대신 첨부파일 및 클릭 실행으로 대량적인 피해를 입힘

    메이즈 랜섬웨어(maze Ransomware) : 2020년 11월 은퇴  , 금전요구 안줄 경우 탈취한 데이터 공개


    도플페이머 랜섬웨어 (DoppelPaymer) : 독일에서 발생  의료시스템이 마비되어 응급환자 사망

    [시험 단골]
    크립토재커(재킹) :  가상 화폐 채굴 ( 크립토 마이너 ) 
    크립토월  :  파일 암호화 , 랜섬웨어중에서도 악마
                 방화벽 스텔스기능 , 암호화 뿐만아니라 
                 암호화를 한 악성파일과 자동 실행 레지스트리 값을 모두 삭제 
    워너크라이 : 파일암호화 , 인질극 비트코인요구 

     

    [랜섬웨어 보안대책]
    #랜섬웨어는 어떻게 걸러내나?
    100%차단은 어려움 예방만이 방법
    인가되지 않은 외부네트워크에서 137(TCP), 138(UDP), 139(TCP), 445(TCP) 포트와 같은 공유폴더에 대한 접근을 차단 
    모든 디지털 파일의 백업과 백신소프트웨어 최신 유지
    새로운 랜섬웨어에 대한 최신정보 확인
    불확실한 이메일 및 다운로드 금지 확인되지 않은파일 virustotal.com에 확인

     

    ===============================================================

     

    9. 리눅스 어디까지 쓸줄 아냐 

     

    기본 권한 계정 서비스 구축은 당연히 할줄알고 

    네트워크 컨트롤 , 오픈소스도 적용해서 서로 다른 리눅스까지 연동할수있다 .

     

    ===============================================================

     면접 관련은 내 구글드라이브 더 보기 

     

     

     

     

     

    4:08:10 / 8:43:20

    https://www.youtube.com/watch?v=PofT2ZCiIrI


    https://www.tenable.com/downloads/nessus?loginAttempted=true

     

    Download Tenable Nessus

    Download Nessus and Nessus Manager

    www.tenable.com

    curl --request GET \
      --url 'https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.7.3-debian10_amd64.deb' \
      --output 'Nessus-10.7.3-debian10_amd64.deb'

     

    https://www.tenable.com/products/nessus/nessus-essentials

    N3BE-49VL-E6LH-MNCT-ZHKA

     

     dpkg -i Nessus-10.7.3-debian10_amd64.deb

    service nessusd restart
    netstat -lntup |grep nessusd

     

    칼리는 방화벽 없다 

    https://192.168.10.200:8834/ 

     

     

     

     

     

    '보안' 카테고리의 다른 글

    HTTPS HTTP  (1) 2024.06.10
    2024.06.10.보안 day45  (0) 2024.06.10
    2024.06.05.보안 day43  (0) 2024.06.09
    2024.06.04.보안 day42  (0) 2024.06.04
    2024.06.03.보안 day41  (1) 2024.06.03
    댓글