locked
Security and Sandbox

    Question

  • How can c++ apps (or c# or javascript apps using a c++ WinRT Component DLL) be considered secure when IDeviceIoControl::DeviceIoControlAsync() is available to wreak total havoc on the system?

    For example, see MoFx2App in the samples...

    Monday, September 19, 2011 11:01 PM

Answers

  • The app declares a DeviceCapability with the device GUID. Guess the user needs to accept that the app requires access to the specified device.

    I looked at the package capability and could not find anything that says "full trust" like the metro style IE does in its settings.



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    Tuesday, September 20, 2011 12:10 AM

All replies

  • The app declares a DeviceCapability with the device GUID. Guess the user needs to accept that the app requires access to the specified device.

    I looked at the package capability and could not find anything that says "full trust" like the metro style IE does in its settings.



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    Tuesday, September 20, 2011 12:10 AM
  • I'd also guess that in addition to automated validation of the package, there'd also be some "human" testing before an app gets deployed/published in the app-store.
    http://blog.voidnish.com
    Tuesday, September 20, 2011 12:16 AM
  • Note that only applications that are listed in the device metadata package for the device can use DeviceIoControl to access the device. So one cannot write a application that uses the deviceiocontrol API and access the device. You need the device vendor to include your application identity in the device metadata. The device metadata package has to pass WHQL validation .
    Wednesday, November 30, 2011 7:28 PM