yourtablecloth / TableCloth

식탁보 프로젝트
GNU Affero General Public License v3.0
907 stars 52 forks source link

[Long Term Project] 샌드박스 없이 동작하는 식탁보 #153

Closed rkttu closed 8 months ago

rkttu commented 9 months ago

식탁보의 원래 아이디어는 샌드박스 사용이 가능한 Windows 10 1903 이상의 OS 사용을 전제로 하는 것이었으나, 다음의 시나리오에서는 사용이 어렵다는 피드백이 있음. 아래의 경우 모두 Windows Sandbox를 사용할 수 없거나, Windows Sandbox의 파운데이션 컴포넌트인 Hyper-V 기반 하이퍼바이저 사용이 안되는 상황에 해당됨.

위와 같은 경우도 폭넓게 지원할 수 있도록, 샌드박스가 없더라도 식탁보를 사용할 수 있게 추가 기능을 개발할 것을 고려해보려한다. 구체적으로는 다음과 같이 작동한다.

  1. 식탁보에서 원하는 인터넷 뱅킹 서비스 선택
  2. 기존과 동일한 런칭 파라미터 지정 후 실행. 샌드박스 설치가 가능한 환경인지 살피고, 설치가 불가할 경우 대체 모드로 실행하게 됨을 고지.
  3. 설치하려는 소프트웨어 패키지를 관리자 권한으로 순서대로 시스템에 직접 설치하고, 설치 내역을 기록한다.
  4. 필요한 경우 wuapi의 ISystemInformation 인터페이스를 이용하여 재시작 필요 여부를 조회하여 다시 시작한다. 재시작할 경우, 예약 작업을 등록하여 식탁보가 원래 세션으로 되돌아올 수 있게 한다.
  5. 설치 작업이 마무리되면, 인터넷 뱅킹을 시작한다. 이 때, 사용을 마치면 관련 정보를 제거할 수 있도록 언인스톨러를 추가한다.
  6. 사용자의 판단 하에, 인터넷 뱅킹 사용이 마무리되면 바탕 화면에 있는 언인스톨러를 사용자가 실행하여 모든 소프트웨어와 공동 인증서 제거를 진행할 수 있다.
  7. (노트) 인터넷 뱅킹 서비스 간에 공유되는 컴포넌트가 많은 관계로 (예: VeraPort, AhnLab Safe Tx 등), 설치 제거는 atomic/transactional 하게 처리하기 어려울 수 있음. 설치는 자동으로 진행하되, 제거는 기존에 잘 알려진 '구라제거기'를 활용하는 방안을 검토하려 함.

이상의 내용을 추가로 구현하는 것이 좋을지를 검토해보려 한다.

gtuf commented 9 months ago

Windows 10 Home 사용 중이라 이 좋은 프로그램을 사용하지 못해 아쉬웠는데 작성하신 아이디어가 구현되면 너무 좋을 것 같습니다.

rkttu commented 8 months ago

173 이슈로 병합하고자 합니다.