Search results for

“DTiPhoneSimulatorErrorDomain Code 2”

162,375 results found

Post

Replies

Boosts

Views

Activity

Reply to Workarounds for Xcode previews errors: Cannot preview in this file - Failed to Launch
I did another test on two different machines seemingly configured in the same way (macOS 26.4.1, Xcode 26.5), and got divergent results. These are the steps I've taken in each case: In System Preferences > Privacy & Security, remove Xcode from Full Disk Access and Files & Folders. Reboot. Open a project under the Documents folder. The user is prompted to grant Xcode access to the Documents folder. If access is denied, Xcode correctly reports that it doesn't have permissions to open the project (Xcode can still create new projects inside Documents, but I assume that this is expected behavior). In System Preferences > Privacy & Security > Files & Folder, grant Xcode access to the Documents folder. Restart Xcode and reopen the same project. The project can now be opened. At this point, in one machine the preview shows up correctly, but in the other machine I get the “Failed to launch” error I've originally posted, and I need to apply one of the workarounds I've originally mentio
2w
Workarounds for Xcode previews errors: Cannot preview in this file - Failed to Launch
I have started to have issues with SwiftUI previews of iOS apps with projects under the Documents folder. I have experimented that in Xcode 26.4 and I am still seeing it in 26.5. The error is: Cannot preview in this file. Failed to launch xyz.abc.TestApp Looking at the diagnostics, Xcode gets a permission denied error when trying to open /Users/me/Documents/path/to/TestApp/DerivedData/TestApp/Build/Intermediates.noindex/TestApp.build/Debug-iphonesimulator/TestApp.build/Objects-normal/arm64/ContentView.1.preview-thunk-launch.o Error details below. Note that I have set DerivedData folders relative to the projects' roots. Additional information: I get errors on freshly created iOS projects, just trying to preview the default ContentView. Xcode has full disk access set in System Preferences > Privacy & Security. I have cleaned build folders, deleted the simulators, Xcode itself, cleared various caches, restarted and reinstalled Xcode to no avail. Checking Editor > Canvas > Use Legacy Previews Executi
4
0
210
2w
Guidelines 5.1.1(i) Help Needed
So i submitted my app what seems like a dozen times now and they keep rejecting it due to Guidelines 5.1.1(i) - Privacy - Data Collection and 5.1.2(i) - Legal - Privacy - Data. The full section is: Issue Description The app appears to share the user’s personal data with a third-party AI service but the app does not clearly explain what data is sent, identify who the data is sent to, and ask the user’s permission before sharing the data. Apps may only use, transmit, or share personal data after they meet all of the following requirements: - Disclose what data will be sent - Specify who the data is sent to - Obtain the user’s permission before sending data - Identify in the privacy policy what data the app collects, how it collects that data, all uses of that data, and confirm any third party the app shares data with provides the same or equal protection Next Steps If the app sends user data to a third-party AI service, revise the app to explain what data is sent, identify who the data is sent to, and ask the u
3
0
175
2w
Reply to StatusCode 7000 "Team is not yet configured for notarization". It's been over five days, no resolution
[quote='885900022, DTS Engineer, /thread/824359?answerId=885900022#885900022'] I [/quote] Quinn….There’s never once been a post by anyone that their status code 7000 problem got resolved. A review of this forum, GitHub communities, and Reddit show nearly a hundred developers get hit with this status block, and all hundred of them never got the block lifted, regardless of length of time. If you get hit with the status code 7000 bug, your time as an app developer is over. Thanks for the developer fee, no refunds.
Topic: Code Signing SubTopic: Notarization Tags:
2w
Subs stuck in a rejection loop, App Store Connect won't let me attach them to a new app version anymore
Hey everyone, hoping someone here has seen this one because Apple support has basically gone silent on me at this point. Quick rundown of the situation: I submitted my app for review for the first time about 2 weeks ago, with my in app subscriptions attached to that first binary. That worked exactly like it's supposed to, subs and binary went into review together. The binary got rejected and the subs got rejected with it. Since then, every single time I create a new app version, the option to submit my subscriptions alongside it just isn't there. There's no attach subscriptions prompt anywhere in the new version's submission flow. So the only way I can actually submit the subs is on their own, straight from the Subscriptions page. And every time I do that, they come back rejected for one reason only, that they need to be submitted with a new app version. Which I literally cannot do, because that UI option doesn't appear in my ASC anymore. It worked the first time, and ever since that very first rejec
2
0
111
2w
Rejected for Guideline 2.5.2 - Performance - Software Requirements
Hi everyone, I’d appreciate guidance on a 2.5.2 rejection. My app was rejected with this message: “During review, the app installed or launched executable code. Specifically, the app allows users to install apps created by other users.” What my app actually does: Users create/share tool templates (not binaries/plugins). A template contains only: form configuration (text fields, dropdowns, checkboxes, sliders, etc.) At runtime, placeholders like #TextField are replaced with user input, then the final prompt is sent to a server for AI response. *The iOS app does not download/install/execute native code, scripts, frameworks, or dynamic modules on-device. I suspect review interpreted the word “install” in my UI as real app/code installation anyone knows what can i do to fix this problem. thank you,
1
0
132
2w
Reply to codesign tool generates "timestamps differ by XXX seconds" error
Thank you Quinn, this is helpful. I just read up the contents of the header file you note and the comments on those fields are clear. So I suspect that the Mac doing the signing has a clock that’s way of sync with reality, so these two values end up significantly different, and thus this problem. I read through the linked TN3161: Inside Code Signing: Certificates | Apple Developer Documentation and it says that it contacts timestamp.apple.com for getting a secure timestamp. Is there a tool that I could use to directly issue a similar request against that server and see what it returns? That might help us debug this on many of these hosts where this happens intermittently. As far as I can see, there's no option/flag in codesign which would allow us to print verbose logs showing it communicating with the timestamp authority server. One other question, that doc also says: Don’t confused the Timestamp and Signed Time fields. The latter is not secured by the Apple timestamp service. Rather, codes
Topic: Code Signing SubTopic: General Tags:
2w
I need help , Enrollment issue
A while ago, I was able to go through the enrollment process all the way to the payment step, but I didn’t have an app ready to publish at that time, so I didn’t complete the payment. Two days ago, I finished developing my app and wanted to publish it on the App Store, so I tried to enroll in the Apple Developer Program. I attempted the enrollment on both my iPhone and Mac. On the Mac, after taking the required photo, I got an “unknown error”. Then I tried on my iPhone, but when I tapped the “Enroll Now” button, I was immediately shown a message saying “Contact Support”. After contacting Apple Support, I was told that my enrollment cannot be completed for “one or more reasons”. They couldn’t tell me the specific reason, nor could they tell me when I might be able to enroll again. I’m very confused — I was able to reach the payment step before, and when I searched online for “one or more reasons”, some people said it means being permanently blacklisted. But I have no idea what I did wrong, or why I wo
1
0
169
2w
Reply to codesign tool generates "timestamps differ by XXX seconds" error
[quote='826273021, jaikiran, /thread/826273, /profile/jaikiran'] we even printed the details of an already signed binary … and that prints [a] similar warning message [/quote] OK. Lemme explain how that message comes about, and I think you’ll be able to extrapolate from there. The codesign tool calls SecCodeCopySigningInformation and looks at two properties: kSecCodeInfoTime and kSecCodeInfoTimestamp. If the values differ significantly (3 minutes IIRC) you get this message. While these properties are covered reasonably well by the documentation, the best source of info about them is the doc comments in . In summary: kSecCodeInfoTimestamp is secure, having been issued by Apple’s timestamp service. For more on that, see the Certificate expiration section of TN3161 Inside Code Signing: Certificates. kSecCodeInfoTime is based on your Mac’s time setting. So I suspect that the Mac doing the signing has a clock that’s way of sync with reality, so these two values end up significantly diffe
Topic: Code Signing SubTopic: General Tags:
2w
Reply to Developer ID Application certificate creation
[quote='826232021, oddeyed, /thread/826232, /profile/oddeyed'] we were posed with the option of choosing a Developer ID Certificate Intermediary [/quote] Oh, that’s a new one. [quote='826232021, oddeyed, /thread/826232, /profile/oddeyed'] Can you please let us know which Developer ID Certificate Intermediary we should choose … ? [/quote] I don’t think there’s a one-size-fits-all answer to that, which is why we give you the choice. My general advice is that you pick the new one, but the old one might make sense if: You have infrastructure that relies on ancient versions of Xcode (or the Command Line Tools package). Or infrastructure that’s tied to a specific intermediate. Picking the new one may require you to install the new intermediate on your build infrastructure, but that’s not a particularly onerous task. From a deployment perspective, this choice shouldn’t matter. When codesign signs code, it builds a chain of trust and embeds that full chain into the code signature. So when a Mac goes
2w
Developer ID Application certificate creation
Hello, We are currently in the process of creating our Developer ID Application certificate which is due to expire. While creating the certificate, we were posed with the option of choosing a Developer ID Certificate Intermediary G2 Sub CA which is supported by Xcode 11.4.1 and later Previous Sub CA We currently build our application out of Xcode using Make or CMake files and perform the codesign and productsign using the codesign commands. We also use 2 different build machines, Ventura with Xcode 14.3 for our latest releases High Sierra (10.13) with Xcode 10.1 for legacy releases to support some customers. Can you please let us know which Developer ID Certificate Intermediary we should choose for generating the new Developer ID Application certificate?
1
0
228
2w
Reply to How much practical benefit is there to XPC-based privilege separation?
There are a couple of ways XPC services can help with security. The first is the one you’re talking about, that is, where you give the XPC service elevated privileges. Your ‘delete a user’ example isn’t great though, because deleting arbitrary users is problematic and it also requires BSD privileged escalation. So let’s consider a different example. Consider a sandboxed app that wants to install an item in ~/Library/PDF Services. There are no BSD level blocks to doing that, but it is blocked by the App Sandbox. To get around that block you sign the app with the com.apple.security.temporary-exception.files.home-relative-path.read-write temporary exception entitlement. Cool, problem solved! Note For links to more about temporary exception entitlements, and the App Sandbox in general, see App Sandbox Resources. However, if your app gets compromised then it might install arbitrary stuff into ~/Library/PDF Services, which isn’t great. So instead you move that code into an XPC service and the app tells the
Topic: Privacy & Security SubTopic: General Tags:
2w
How much practical benefit is there to XPC-based privilege separation?
Privilege separation is one of the two main reasons to use XPC services given by https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html — With traditional applications, if an application becomes compromised through a buffer overflow or other security vulnerability, the attacker gains the ability to do anything that the user can do. To mitigate this risk, Mac OS X provides sandboxing—limiting what types of operations a process can perform. […] Each XPC service has its own sandbox, so XPC services can make it easier to implement proper privilege separation. The idea (iiuc) being that if the main process is compromised, the spicier operations have been separated out to a separate process space, and this improves the security of the system. But if the main process is compromised, and that main process is trusted by the more-privileged XPC service, is not the system still compromised in practice? That is rather than the exploit being:
3
0
199
2w
LAContext and its usage in context of Local Authentication
While working with Local Authentication framework, specifically LAContext class I found myself with few contradictions to documentation, and although I believe that those differences are rather positive than negative, either documentation is lacking behind or those APIs are not working as intended - which I believe is combination of both. 1. Local Authentication 1.1 Biometry type, and associated with it hash With introduction of LADomainState one can extract underlying biometry type along it's (current) state hash this way: @available(iOS 18, macOS 15, *) func postIOS18() { let context = LAContext() let biometryType = context.domainState.biometry.biometryType // (1) let biometryStateHash = context.domainState.biometry.stateHash // (2) } prior to receiving above APIs, we would retrieve such information something along those lines: func preIOS18() { let context = LAContext() let policy: LAPolicy // ... var error: NSError? _ = context.canEvaluatePolicy(policy, error: error) // (3) // ... (Handle error -
1
0
285
2w
Reply to Protecting sensitive data in memory.
I am developing a library called MemoryCryptor for macOS. Its purpose is to protect sensitive data of the calling process (including launchd daemons), e.g. user passwords and other secrets, from being written to disk or read directly by debuggers or malware. So, the first thing I need to clarify here is what you're threat model is and to what degree you're willing to trust the operating system itself. The problem here is that there's a spectrum of trust that runs from: If you trust the operating system, then the solution is fairly simple. As described here, if a process has Get task allow set to false, then the system will not allow any process to retrieve that processes task port. Without that port, there's no way for an app to gain access to another apps process, solving the issue. Are many other mechanism at work that reenforce and/or prevent other attack vectors, but the general answer here is that that standard system configuration makes ensures that one process cannot read the memory of another process
2w
Reply to Workarounds for Xcode previews errors: Cannot preview in this file - Failed to Launch
I did another test on two different machines seemingly configured in the same way (macOS 26.4.1, Xcode 26.5), and got divergent results. These are the steps I've taken in each case: In System Preferences > Privacy & Security, remove Xcode from Full Disk Access and Files & Folders. Reboot. Open a project under the Documents folder. The user is prompted to grant Xcode access to the Documents folder. If access is denied, Xcode correctly reports that it doesn't have permissions to open the project (Xcode can still create new projects inside Documents, but I assume that this is expected behavior). In System Preferences > Privacy & Security > Files & Folder, grant Xcode access to the Documents folder. Restart Xcode and reopen the same project. The project can now be opened. At this point, in one machine the preview shows up correctly, but in the other machine I get the “Failed to launch” error I've originally posted, and I need to apply one of the workarounds I've originally mentio
Replies
Boosts
Views
Activity
2w
Workarounds for Xcode previews errors: Cannot preview in this file - Failed to Launch
I have started to have issues with SwiftUI previews of iOS apps with projects under the Documents folder. I have experimented that in Xcode 26.4 and I am still seeing it in 26.5. The error is: Cannot preview in this file. Failed to launch xyz.abc.TestApp Looking at the diagnostics, Xcode gets a permission denied error when trying to open /Users/me/Documents/path/to/TestApp/DerivedData/TestApp/Build/Intermediates.noindex/TestApp.build/Debug-iphonesimulator/TestApp.build/Objects-normal/arm64/ContentView.1.preview-thunk-launch.o Error details below. Note that I have set DerivedData folders relative to the projects' roots. Additional information: I get errors on freshly created iOS projects, just trying to preview the default ContentView. Xcode has full disk access set in System Preferences > Privacy & Security. I have cleaned build folders, deleted the simulators, Xcode itself, cleared various caches, restarted and reinstalled Xcode to no avail. Checking Editor > Canvas > Use Legacy Previews Executi
Replies
4
Boosts
0
Views
210
Activity
2w
Guidelines 5.1.1(i) Help Needed
So i submitted my app what seems like a dozen times now and they keep rejecting it due to Guidelines 5.1.1(i) - Privacy - Data Collection and 5.1.2(i) - Legal - Privacy - Data. The full section is: Issue Description The app appears to share the user’s personal data with a third-party AI service but the app does not clearly explain what data is sent, identify who the data is sent to, and ask the user’s permission before sharing the data. Apps may only use, transmit, or share personal data after they meet all of the following requirements: - Disclose what data will be sent - Specify who the data is sent to - Obtain the user’s permission before sending data - Identify in the privacy policy what data the app collects, how it collects that data, all uses of that data, and confirm any third party the app shares data with provides the same or equal protection Next Steps If the app sends user data to a third-party AI service, revise the app to explain what data is sent, identify who the data is sent to, and ask the u
Replies
3
Boosts
0
Views
175
Activity
2w
Reply to StatusCode 7000 "Team is not yet configured for notarization". It's been over five days, no resolution
[quote='885900022, DTS Engineer, /thread/824359?answerId=885900022#885900022'] I [/quote] Quinn….There’s never once been a post by anyone that their status code 7000 problem got resolved. A review of this forum, GitHub communities, and Reddit show nearly a hundred developers get hit with this status block, and all hundred of them never got the block lifted, regardless of length of time. If you get hit with the status code 7000 bug, your time as an app developer is over. Thanks for the developer fee, no refunds.
Topic: Code Signing SubTopic: Notarization Tags:
Replies
Boosts
Views
Activity
2w
Subs stuck in a rejection loop, App Store Connect won't let me attach them to a new app version anymore
Hey everyone, hoping someone here has seen this one because Apple support has basically gone silent on me at this point. Quick rundown of the situation: I submitted my app for review for the first time about 2 weeks ago, with my in app subscriptions attached to that first binary. That worked exactly like it's supposed to, subs and binary went into review together. The binary got rejected and the subs got rejected with it. Since then, every single time I create a new app version, the option to submit my subscriptions alongside it just isn't there. There's no attach subscriptions prompt anywhere in the new version's submission flow. So the only way I can actually submit the subs is on their own, straight from the Subscriptions page. And every time I do that, they come back rejected for one reason only, that they need to be submitted with a new app version. Which I literally cannot do, because that UI option doesn't appear in my ASC anymore. It worked the first time, and ever since that very first rejec
Replies
2
Boosts
0
Views
111
Activity
2w
Rejected for Guideline 2.5.2 - Performance - Software Requirements
Hi everyone, I’d appreciate guidance on a 2.5.2 rejection. My app was rejected with this message: “During review, the app installed or launched executable code. Specifically, the app allows users to install apps created by other users.” What my app actually does: Users create/share tool templates (not binaries/plugins). A template contains only: form configuration (text fields, dropdowns, checkboxes, sliders, etc.) At runtime, placeholders like #TextField are replaced with user input, then the final prompt is sent to a server for AI response. *The iOS app does not download/install/execute native code, scripts, frameworks, or dynamic modules on-device. I suspect review interpreted the word “install” in my UI as real app/code installation anyone knows what can i do to fix this problem. thank you,
Replies
1
Boosts
0
Views
132
Activity
2w
Reply to codesign tool generates "timestamps differ by XXX seconds" error
Thank you Quinn, this is helpful. I just read up the contents of the header file you note and the comments on those fields are clear. So I suspect that the Mac doing the signing has a clock that’s way of sync with reality, so these two values end up significantly different, and thus this problem. I read through the linked TN3161: Inside Code Signing: Certificates | Apple Developer Documentation and it says that it contacts timestamp.apple.com for getting a secure timestamp. Is there a tool that I could use to directly issue a similar request against that server and see what it returns? That might help us debug this on many of these hosts where this happens intermittently. As far as I can see, there's no option/flag in codesign which would allow us to print verbose logs showing it communicating with the timestamp authority server. One other question, that doc also says: Don’t confused the Timestamp and Signed Time fields. The latter is not secured by the Apple timestamp service. Rather, codes
Topic: Code Signing SubTopic: General Tags:
Replies
Boosts
Views
Activity
2w
I need help , Enrollment issue
A while ago, I was able to go through the enrollment process all the way to the payment step, but I didn’t have an app ready to publish at that time, so I didn’t complete the payment. Two days ago, I finished developing my app and wanted to publish it on the App Store, so I tried to enroll in the Apple Developer Program. I attempted the enrollment on both my iPhone and Mac. On the Mac, after taking the required photo, I got an “unknown error”. Then I tried on my iPhone, but when I tapped the “Enroll Now” button, I was immediately shown a message saying “Contact Support”. After contacting Apple Support, I was told that my enrollment cannot be completed for “one or more reasons”. They couldn’t tell me the specific reason, nor could they tell me when I might be able to enroll again. I’m very confused — I was able to reach the payment step before, and when I searched online for “one or more reasons”, some people said it means being permanently blacklisted. But I have no idea what I did wrong, or why I wo
Replies
1
Boosts
0
Views
169
Activity
2w
Reply to codesign tool generates "timestamps differ by XXX seconds" error
[quote='826273021, jaikiran, /thread/826273, /profile/jaikiran'] we even printed the details of an already signed binary … and that prints [a] similar warning message [/quote] OK. Lemme explain how that message comes about, and I think you’ll be able to extrapolate from there. The codesign tool calls SecCodeCopySigningInformation and looks at two properties: kSecCodeInfoTime and kSecCodeInfoTimestamp. If the values differ significantly (3 minutes IIRC) you get this message. While these properties are covered reasonably well by the documentation, the best source of info about them is the doc comments in . In summary: kSecCodeInfoTimestamp is secure, having been issued by Apple’s timestamp service. For more on that, see the Certificate expiration section of TN3161 Inside Code Signing: Certificates. kSecCodeInfoTime is based on your Mac’s time setting. So I suspect that the Mac doing the signing has a clock that’s way of sync with reality, so these two values end up significantly diffe
Topic: Code Signing SubTopic: General Tags:
Replies
Boosts
Views
Activity
2w
Reply to Developer ID Application certificate creation
[quote='826232021, oddeyed, /thread/826232, /profile/oddeyed'] we were posed with the option of choosing a Developer ID Certificate Intermediary [/quote] Oh, that’s a new one. [quote='826232021, oddeyed, /thread/826232, /profile/oddeyed'] Can you please let us know which Developer ID Certificate Intermediary we should choose … ? [/quote] I don’t think there’s a one-size-fits-all answer to that, which is why we give you the choice. My general advice is that you pick the new one, but the old one might make sense if: You have infrastructure that relies on ancient versions of Xcode (or the Command Line Tools package). Or infrastructure that’s tied to a specific intermediate. Picking the new one may require you to install the new intermediate on your build infrastructure, but that’s not a particularly onerous task. From a deployment perspective, this choice shouldn’t matter. When codesign signs code, it builds a chain of trust and embeds that full chain into the code signature. So when a Mac goes
Replies
Boosts
Views
Activity
2w
Developer ID Application certificate creation
Hello, We are currently in the process of creating our Developer ID Application certificate which is due to expire. While creating the certificate, we were posed with the option of choosing a Developer ID Certificate Intermediary G2 Sub CA which is supported by Xcode 11.4.1 and later Previous Sub CA We currently build our application out of Xcode using Make or CMake files and perform the codesign and productsign using the codesign commands. We also use 2 different build machines, Ventura with Xcode 14.3 for our latest releases High Sierra (10.13) with Xcode 10.1 for legacy releases to support some customers. Can you please let us know which Developer ID Certificate Intermediary we should choose for generating the new Developer ID Application certificate?
Replies
1
Boosts
0
Views
228
Activity
2w
Reply to How much practical benefit is there to XPC-based privilege separation?
There are a couple of ways XPC services can help with security. The first is the one you’re talking about, that is, where you give the XPC service elevated privileges. Your ‘delete a user’ example isn’t great though, because deleting arbitrary users is problematic and it also requires BSD privileged escalation. So let’s consider a different example. Consider a sandboxed app that wants to install an item in ~/Library/PDF Services. There are no BSD level blocks to doing that, but it is blocked by the App Sandbox. To get around that block you sign the app with the com.apple.security.temporary-exception.files.home-relative-path.read-write temporary exception entitlement. Cool, problem solved! Note For links to more about temporary exception entitlements, and the App Sandbox in general, see App Sandbox Resources. However, if your app gets compromised then it might install arbitrary stuff into ~/Library/PDF Services, which isn’t great. So instead you move that code into an XPC service and the app tells the
Topic: Privacy & Security SubTopic: General Tags:
Replies
Boosts
Views
Activity
2w
How much practical benefit is there to XPC-based privilege separation?
Privilege separation is one of the two main reasons to use XPC services given by https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html — With traditional applications, if an application becomes compromised through a buffer overflow or other security vulnerability, the attacker gains the ability to do anything that the user can do. To mitigate this risk, Mac OS X provides sandboxing—limiting what types of operations a process can perform. […] Each XPC service has its own sandbox, so XPC services can make it easier to implement proper privilege separation. The idea (iiuc) being that if the main process is compromised, the spicier operations have been separated out to a separate process space, and this improves the security of the system. But if the main process is compromised, and that main process is trusted by the more-privileged XPC service, is not the system still compromised in practice? That is rather than the exploit being:
Replies
3
Boosts
0
Views
199
Activity
2w
LAContext and its usage in context of Local Authentication
While working with Local Authentication framework, specifically LAContext class I found myself with few contradictions to documentation, and although I believe that those differences are rather positive than negative, either documentation is lacking behind or those APIs are not working as intended - which I believe is combination of both. 1. Local Authentication 1.1 Biometry type, and associated with it hash With introduction of LADomainState one can extract underlying biometry type along it's (current) state hash this way: @available(iOS 18, macOS 15, *) func postIOS18() { let context = LAContext() let biometryType = context.domainState.biometry.biometryType // (1) let biometryStateHash = context.domainState.biometry.stateHash // (2) } prior to receiving above APIs, we would retrieve such information something along those lines: func preIOS18() { let context = LAContext() let policy: LAPolicy // ... var error: NSError? _ = context.canEvaluatePolicy(policy, error: error) // (3) // ... (Handle error -
Replies
1
Boosts
0
Views
285
Activity
2w
Reply to Protecting sensitive data in memory.
I am developing a library called MemoryCryptor for macOS. Its purpose is to protect sensitive data of the calling process (including launchd daemons), e.g. user passwords and other secrets, from being written to disk or read directly by debuggers or malware. So, the first thing I need to clarify here is what you're threat model is and to what degree you're willing to trust the operating system itself. The problem here is that there's a spectrum of trust that runs from: If you trust the operating system, then the solution is fairly simple. As described here, if a process has Get task allow set to false, then the system will not allow any process to retrieve that processes task port. Without that port, there's no way for an app to gain access to another apps process, solving the issue. Are many other mechanism at work that reenforce and/or prevent other attack vectors, but the general answer here is that that standard system configuration makes ensures that one process cannot read the memory of another process
Replies
Boosts
Views
Activity
2w