[활동 정리]/[2023]동계 모각코 개인

[중단발머리] 6회차 개인 목표 및 결과

DevCat_ 2024. 1. 29. 23:34

1월 29일 6회차 모임


개인 목표 : 정보보안 공부- 입문

정보보안(해킹) 공부로 Dream Hack 사이트 강의 듣기

 

 

 


개인 결과 :

본격적으로 리눅스 환경에서 코딩하기 위해서 가상환경에서 내 맥의 VSCode 를 연결해주도록 한다.

https://velog.io/@selenium/Ubuntu-%EC%84%9C%EB%B2%84-%ED%8F%AC%ED%8A%B8%ED%8F%AC%EC%9B%8C%EB%94%A9-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%97%B0%EA%B2%B0

 

[온라인저지] 외부접속 환경 구축(Ubuntu 서버 포트포워딩, 도메인 연결, 방화벽 설정)

온라인저지 서버 외부 접속 구축

velog.io

포트 포워딩을 이용하여 우분투 서버를 접속하게 한다.


 

시스템 해킹, 공격자로 하여금 피해 컴퓨터가 공격자의 의도대로 컴퓨터를 수행시키게 되는 것.

 

 C언어는 효율성과 유연함에 큰 강점이 있어서 웬만한 하드웨어 동작 및 소프트웨어 실행에 많이 이용된다. 그래서 다양한 프로그램이 C언어로 짜여있기에 C언어부터 공부하도록 권장한다.

 

 이 강의는 C 언어 기반 프로그램의 취약점의 기본적인 지식과 배경에 대해서 알려준다.

  • 시스템 상에서 프로그램이 작동하는 방식
  • 프로그램 분석에 필요한 도구
  • 취약점 유형
  • 취약점 공략하는 방법론

 시스템 해킹은 전반적인 컴퓨터 지식을 필요로 한다. 스택오버플로우 같은 경우에도 2학년 2학기에 배운 시스템프로그래밍에서 나온 어셈블리 언어 관점에서 보는 것이 이해하기 쉽기 때문이다.

 

시스템 해킹 목표 : 공격 대상 프로그램이 구동되는 서버의 임의 유저의와 같은 권한을 획득하는 것

 


 

 

 리버스 엔지니어링을 리버싱이라고 부르며, 무언가를 설계 구상하는 엔지니어링의 역과정을 뜻한다.

 

 프로그래밍 관점에서는 컴파일한 산출물에서부터 뜯어보기 시작하는 것이다. 위의 산출물은 흔히 프로그램, 이진파일로 이루어져 있는데 이것을 사람이 다시 알아보기 쉽게 하기위해서는 디스어셈블러 혹은 디컴파일러가 필요하다. 해킹이면서 분석인 분야이다.

 

 사람 눈으로 이해할 수 있는 코드도 리버싱의 대상이다.

 

아무리 사람에게 보기 편한 언어로 구성되어도 결국에는 프로그래밍 언어까지가 한계. 프로그래밍 언어 공부 중요.

x86 assembly 를 알아두면 편하다. low-level에서 어떻게 메모리가 활용되는지 아는 것과 같이 기반이 되는 과정을 볼 수 있기 때문이다.

 


웹 상에서 본 의도와는 다르게 수행되도록 데이터 도용, 변조 등등의 행위를 수행하는 것을 의미한다. 

 

안전한 웹 서비스의 구현을 위한 것을 알아가는 것을 시작으로 서버 측, 클라이언트 측에서의 일어날 수 있는 공격을 차근 차근 배워나가도록 하자.

 

웹 해킹을 잘하려면 웹 개발은 필수적인 덕목이다. 서버 및 동작 방식을 이해하는 것이 중요하다. 사용되는 언어 및 프레임워크에 대해서 많이 공부해둬야 한다.

 


암호학

정보를 보호하거나 안전하게 통신하기 위한 방법론을 배우는 학문.

키를 이용하여 평문을 암호문으로 바꾸는 등. 개인 정보 관리, 전자상 거래, 클라우드 서비스 등등 보안을 유지해야 하는 다양한 영역에서 사용된다.

 

비트 연산, 모듈로 연산, 파이썬을 알고 있으면 쉽다.