Franky Chen

@franky

Joined on Mar 18, 2021

  • AWSTemplateFormatVersion: 2010-09-09 Description: | Not using SAM Resources: # First you need to grant API Gateway permession to use Lambda HelloWorldFunctionHelloWorldPermissionProd: Type: 'AWS::Lambda::Permission' Properties: Action: 'lambda:InvokeFunction' FunctionName: !Ref HelloWorldFunction
     Like  Bookmark
  • 在第53屆全國技能競賽雲端運算職類第三日的試題中,參賽者被要求找出正在被拿來挖礦(Cryto mining)的Amazon EC2 執行個體 (Instance)。根據競賽使用的 CloudFormation Template,我們了解到命題者希望參賽者使用AWS GuardDuty來辨識這台特定的執行個體。然而,參賽者需要在6台EC2 instance中找出該實例,其中5台為Linux系統,另外1台為Windows系統。 根據我們獲得的CloudTrail記錄,這些資源是在競賽開始前當地時間上午08:45部署的,而競賽於09:13正式開始。然而,這導致在競賽開始前的前5分鐘內,目標執行個體 (target instance) 未能即時產生挖礦行爲的模擬,導致GuardDuty 未能發出預警。此外,基於 Windows 操作系統的特性,Windows執行個體在啟動初期的CPU使用率遠高於其他實例,這種情況引起了我們的懷疑,認為這台Windows instance可能正被濫用以進行挖礦活動。 因此,命題者特意在目標執行個體中的 userdata (即執行個體啟動時執行的指令碼) 中設計了一種模擬挖礦活動的方式,即通過「連線到挖礦相關端點 (Endpoint) 與對CPU進行壓力測試 (stress-ng)」的組合。這導致我們即使通過SSH連接進入每一台執行個體,也無法確切找到實際進行挖礦的進程。更令人擔憂的是,儘管該userdata安裝了stress-ng套件,但在在安裝完畢後並未啟動該套件,這使我們無法通過實際檢查系統狀態來判斷挖礦活動。此外,在賽後講評時,命題者也提及:在該公有雲上進行挖礦行為是違反政策的,可能導致帳號被停用,這也是今日競賽需要以模擬方式命題的原因。但我們在公開的AWS政策文件中並未找到此類政策,AWS僅禁止使用者在免費試用額(Free-Tier)內進行挖礦。以上因素導致操作速度較快的選手,在時間壓力下,無法取得準確的判斷依據,只能依據目前所擁有的資訊,盡可能地採取對應的行動。 然而,該競賽的設計是參賽者每提交一次錯誤的答案就扣減一萬分。這一規定導致多名參賽者因為多次錯誤提交而遭受重大扣分,而這些錯誤是因為題目的設計和上述困境所致。我們可以理解,今天可能會有參賽者嘗試著暴力破解題目,試圖以各種策略解題,所以需要設計倒扣機制。但若今日題目有設計上的瑕疵,是否應在參賽者反應後補回對應的分數?且多次提交相同的錯誤答案,是否應該倒扣一次分數,而非無限累積? 對於命題者於個人臉書的發言 (如下)(連結)
     Like  Bookmark