일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gas
- 유니티
- gameplay effect
- rpc
- gameplay ability system
- level design
- Replication
- os
- listen server
- Aegis
- gameplay tag
- Multiplay
- MAC
- 언리얼 엔진
- CTF
- 보안
- widget
- UI
- Unreal Engine
- 게임 개발
- stride
- local prediction
- attribute
- ability task
- C++
- photon fusion2
- 게임개발
- animation
- 언리얼엔진
- unity
- Today
- Total
목록분류 전체보기 (560)
Replicated
언어 (Language)- 다른 개체들이 서로 의사소통을 하기 위한 도구- Syntax (구문, 문법), Semantics (의미) 자연어 (Natual Lang.)- 인간들끼리 소통하기 위해 사용되는 언어- 자연적으로 만들어졌고, 규칙이 명확하지 않고 복잡함- 해석이 다양할 수 있음 형식 언어 (Fornal Lang.)- 누군가에 의해 특수한 목적을 위해 만들어진 언어- 규칙이 단순, 명확- 복잡한 인간의 생각을 다 표현할 수는 없음- 해석의 오해가 없음- 컴퓨터가 최종적으로 이해 가능- 타입 0, 1, 2, 3 언어(Language): 알파벳으로부터 생성되는 모든 문자열들의 부분 집합문법(Grammar): 언어는 문법에 의해 생성되고 정의됨인식기(automata): 언어는 인식기에 의해 인식됨 언어와..
컴파일러- 하이레벨 언어로 작성된 프로그램을 의미적으로(semantically) 동등한 대상 언어 프로그램으로 바꿔주는 소프트웨어 인터프리터- Interptretation: 소스 프로그램이 의미하는 연산 수행- 중간 코드로 전환 후 바로 실행 하이레벨 언어 -> 대부분의 프로그래밍 언어미들레벨 언어 -> 어셈블리어로우 레벨 -> 기계어 컴퓨터는 기계어를 쓰지만, 대부분의 사람들이 직접 쓸만한 것은 못된다사람 중심 언어인 고급 언어를 쓰고, 고급 언어를 기계어로 변환해주는 번역기인 컴파일러, 인터프리터 필요 컴파일러의 장단점- 전반적으로 인터프리터에 비해 효율적- 반복문 처리에 효과적- 번역 후 실행 파일로 저장 가능- 한번 번역 후 실행은 여러번 반복 가능- 작은 수정만 해도 컴파일 새로 해야 함 인터..
공부할 것들 IOCP-> 윈도우, 완료 기반 epoll-> 리눅스, 준비 기반 (대상 fd만) select, poll은 epoll이 있으니 제외 kqueue-> 맥 용인데 굳이 싶음 io_uring이건 나온지 몇 년 안돼서 좀 더 봐보자 일단 IOCP -> epoll
Secure Coding 이란?- 소프트웨어 개발 과정에서 보안 취약점을 사전에 방지하기 위해 안전한 코딩 기법과 원칙을 적용하는 것- 소프트웨어가 해킹, 데이터 유출, 악성 코드 주입 등의 위협으로부터 안전하게 보호될 수 있도록 하는 것을 목표 Secure Coding 목적보안 취약점 예방- 소프트웨어 개발 초기 단계부터 보안을 고려하여 취약점이 발생할 가능성을 줄임 데이터 보호- 민감한 정보(개인 정보, 금융 데이터 등)가 외부로 유출되지 않도록 보호 공격 방어- SQL 주입, XSS등과 같은 해킹 공격을 방어 신뢰성 향상- 안전한 코드는 소프트웨어의 안정성과 신뢰성을 높여 사용자 신뢰를 구축 Secure Coding 주요 원칙입력 데이터 검증과 무결성- 모든 사용자 입력은 신뢰할 수 없다고 가정하고..
설계 단계 보안 개발 필요성- 설계 단계는 기능 및 비기능 요구사항을 충족시키기 위한 소프트웨어의 구조와 구성 요소를 명확하게 정의하는 단계- 설계 단계에서 보안 항목을 반영하지 않으면 이후 구현 단계에서 소프트웨어 일관성이 떨어지거나, 단순 수정을 통해 보안 항목을 만족시킬 수 없는 경우 발생 가능- 설계 시 반영하지 못한 항목 반영 .. 구현 시 5배, 제품 출시 이후엔 30배까지도 추가 비용이 들 수도 있음 보안 설계 원칙설계에 보안을 통합 (Security by Design)- 범위 정의: 설계 범위에 대한 명확한 정의- 가정 명시화: 필요한 가정에 대한 명시화- 보안 요구사항 대해 최종 목표로 표현 - CIA에 근거한 작성 - 보안 요구사항에 대해 최종 목표로 표현 - 중요한 완..
소프트웨어 공급망 (Software Supply Chain) 공격- 소프트웨어가 개발되어 최종 사용자에게 전달되기까지의 전체 과정에서..- 소프트웨어 복잡도 증가로 인해 서드 파티 라이브러리와 컴포넌트 사용- 하나의 소프트웨어 모듈 취약점이 전체 시스템에 영향-> 개발부터 배포까지 각 단계가 공격 대상 .. 공격 표면이 확대 유형- 공개 SW 보안 취약점- 타사 의존성- 공용 리포지토리- 변환 시스템- 업데이트 가로채기- 공급사 및 협력사 소프트웨어 공급망 보안 필요성- 다양한 기능을 가진 현대 소프트웨어는 수많은 외부 라이브러리 컴포넌트로 구성- 1개의 어플리케이션에 많은 종속성 존재 가능- 소프트웨어 공급망 공격은 피해가 광범위하고 지속적으로 발생 가능- 소프트웨어 공급망 공격을 체계적으로 대응하기 ..
경계 기반 보안 (Perimeter Security) 모델- 조직의 네트워크와 시스템을 물리적, 논리적 경계로 구분하여 보호하는 전통적 보안 모델- 성과 해자 모델- 신뢰하는 내부 / 신뢰하지 않는 외부 이분법적 구조- 신뢰 경계에 방화벽, 침입 차단 시스템과 같은 보안 솔루션을 설치하여 보안 강화 성과 해자 모델을 기반으로 내부(Trusted), 외부(Untrusted)를 명확히 구분- 구현과 관리가 상대적으로 단순: 조직의 네트워크 경계를 명확하게 정의하고 경계에 대한 보안에 집중하여 관리- 비용 효율성이 높음- 내부적 위협에 취약: Lateral Movement- 클라우드, 원격 근무, BYOD (Bring Your Own Device) ZTA(Zero Trust Architecture) 탄생 배..
안전한 시스템 / 소프트웨어 개발을 위한 고려사항소프트웨어 설계 및 구현 관점- 보안 기능 설계- 입력 데이터 검증- 세션 관리- 시큐어 코딩 소프트웨어 아키텍처 관점- 안전한 소프트웨어 아키텍처 설계에 중점- 공격 표면 최소화- 데이터 노출 최소화, 인증 및 접근 정책 강화 시스템 아키텍처 관점- 보안 강화 아키텍처 도입 .. ZTA 위협 완화- 문제의 심각성, 범위, 영향을 감소시키는 사전 대응- 위험을 줄여주지만 제거하지는 못함- 잠재적인 위협 요소를 파악하고 각 위협이 미칠 수 있는 영향도 분석- 화재 경보, 안전벨트, 에어백, 속도 제한, 안전 관리 규정 등.. 소프트웨어 보안 위협 완화- 소프트웨어 보안 위협 완화는 개발 전 과정에 걸쳐 수행- 위협 모델링을 취약점 식별은 중요하지만, 식별된..